最近天天都在空閒時間努力編寫Apworks框架的案例代碼WeText。在文本發佈和處理微服務中,我打算使用微軟的SQL Server for Linux來作演示,因而也就在本身的docker-compose中加入了MS SQL Server的服務。其實在Docker中運行SQL Server是很是容易的,今天大概作個介紹吧。linux
下面是我目前WeText案例中用於搭建基礎結構服務的docker-compose.yml文件(該文件未來還會變更,最新版本請參閱Github):git
version: "3" services: mongodb: image: mongo volumes: - ${MONGODB_DATABASE_VOLUME} container_name: mongodb ports: - "27017:27017" rabbit: image: rabbitmq:3-management ports: - "5672:5672" - "4369:4369" - "5671:5671" - "25672:25672" - "15672:15672" container_name: rabbitmq hostname: my-rabbitmq volumes: - ${RABBITMQ_DATA_VOLUME} postgres: image: postgres ports: - "5432:5432" container_name: postgres volumes: - ${POSTGRESQL_DATA_VOLUME} mssql: image: microsoft/mssql-server-linux:2017-latest ports: - "1433:1433" container_name: mssql environment: - ACCEPT_EULA=Y - SA_PASSWORD=G1veMeP@ss
這個docker-compose文件中包含了四個服務的定義,今天咱們只關注最後一個,也就是mssql。能夠看到:github
固然,你能夠不使用docker-compose,而是直接使用docker run,那麼方法也是相似的,好比可使用下面的語句:sql
sudo docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=G1veMeP@ss' \ -p 1433:1433 --name mssql \ -d microsoft/mssql-server-linux:2017-latest
一樣也能夠啓動SQL Server容器。在Docker中運行SQL Server時,須要注意:mongodb
官方文檔介紹使用docker exec命令,在已運行的SQL Server 2017容器中,執行sqlcmd命令進行鏈接和數據庫使用。固然,也可使用圖形化的客戶端,好比SQL Server Management Studio或者Visual Studio的Server Explorer來鏈接運行於Docker中的SQL Server 2017,方法與鏈接普通版本SQL Server的方法同樣。例如,下面是在Visual Studio的Server Explorer中鏈接Microsoft SQL Server on Linux for Docker的效果:docker