先决条件
- Install Docker(安装 Docker)。
- docker 文档中有关配置 overlay2 的说明和警告。
- 至少 2 GB 的磁盘空间。
- 至少 2 GB 的 RAM。
- Linux 上的 SQL Server 的系统要求。
拉取并运行容器映像
在开始执行以下步骤之前,请确保已在本文顶部选择了首选的 shell(bash、PowerShell 或 cmd)。
-
从 Microsoft 容器注册表中拉取 SQL Server 2017 Linux 容器映像。
sudo docker pull mcr.microsoft.com/mssql/server:2017-latest
-
mssql-server Docker hub 页。
Post-installation steps for Linux(适用于 Linux 的安装后步骤)。
-
要使用 Docker 运行容器映像,可以从 Bash Shell (Linux/macOS) 或提升的 PowerShell 命令提示符使用以下命令。
sudo docker run --restart always -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=password' -e 'MSSQL_PID=Developer' -p 1333:1433 --name sql2017 -v /data/sqlserver2017_data:/var/opt/mssql -d microsoft/mssql-server-linux
备注
docker logs 命令检查错误日志。
备注
运行生产容器映像。
下表对前一个 docker run 示例中的参数进行了说明:
| 参数 | 说明 |
|---|---|
| SQL Server 映像的必需设置。 | |
| SQL Server 映像的必需设置。 | |
| -p 1433:1433 | 在此示例中,SQL Server 侦听容器中的 TCP 1433,并对主机上的端口 1433 公开。 |
| --name sql1 | 如果运行多个容器,则无法重复使用相同的名称。 |
| -d mcr.microsoft.com/mssql/server:2017-latest | SQL Server 2017 Linux 容器映像。 |
注:
-v /data/sqlserver2017_data:/var/opt/mssql 表示将docker的/var/opt/mssql挂载到宿主机的/data/sqlserver2017_data目录
要查看 Docker 容器,请使用 docker ps 命令。
sudo docker ps -a
配置指南的疑难解答部分 。
连接到 SQL Server
下列步骤在容器内部使用 SQL Server 命令行工具 sqlcmd 来连接 SQL Server。
-
在下面的示例中,
sql1是在创建容器时由--name参数指定的名称。
sudo docker exec -it sql2017 "bash"
坑:
一定要挂载/var/opt/mssql目录到宿主机,这样就可以使用SQL Server Management Studio连接数据库备份还原,否则各种权限坑。
参考文档: