1、下载sqlserver镜像
sudo docker pull mcr.microsoft.com/mssql/server:2017-latest
2、创建挂载点目录
mkdir /etc/sqlserver_data
3、启动容器
sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=P@ssw0rd," \
-p 1433:1433 --name sqlserver2017 \
-v /etc/sqlserver_data:/var/opt/mssql \
-d mcr.microsoft.com/mssql/server:2017-latest
脚本说明
-e "ACCEPT_EULA=Y" | 将 ACCEPT_EULA 变量设置为任意值,以确认接受最终用户许可协议。 SQL Server 映像的必需设置。 |
-e "SA_PASSWORD=<YourStrong@Passw0rd>" | 指定至少包含 8 个字符且符合 SQL Server 密码要求的强密码。 SQL Server 映像的必需设置。 |
-p 1433:1433 | 将主机环境中的 TCP 端口(第一个值)映射到容器中的 TCP 端口(第二个值)。 在此示例中,SQL Server 侦听容器中的 TCP 1433,此容器端口随后会对主机上的 TCP 端口 1433 公开。 |
--name sql1 | 为容器指定一个自定义名称,而不是使用随机生成的名称。 如果运行多个容器,则无法重复使用相同的名称。 |
--hostname sql1 | 用于显式设置容器主机名。 如果未指定主机名,则主机名默认为容器 ID,这是随机生成的系统 GUID。 |
-d | 在后台运行容器(守护程序)。 |
4、进入容器连接sqlserver
## 进入容器
sudo docker exec -it <容器名> bash
## 连接sqlserver
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<YourNewStrong@Passw0rd>"
##变更登录密码
alter login SA with password='newpassword'
5、开放linux端口,可以用图形化工具连接sqlserver;外部亦可用sqlcmd 工具,命令行方式连接sqlserver,需先安装命令sqlcmd 工具;
参考:Docker:为 Linux 上的 SQL Server 安装容器 - SQL Server | Microsoft Docs