最近天天都在空闲时间努力编写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