本教程基于
- Docker20.10.6
- SQL Server2019
- Docker Desktop(WSL2 Ubuntu18)
- Microsoft SQL Server 文档
要求:
- Docker引擎1.8以上
1. 拉取SQL Server2019容器镜像
sudo docker pull mcr.microsoft.com/mssql/server:2019-latest
运行docker images
可查看现有镜像。
xc•~•»»docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mcr.microsoft.com/mssql/server 2019-latest 62c72d863950 7 weeks ago 1.49GB
2. 运行SQL Server2019容器映像
sudo docker run --name sqlserver2019\
-h sqlserver2019\
-p 1433:1433\
-e "ACCEPT_EULA=Y"\
-e "SA_PASSWORD=MYpassword2019"\
-d mcr.microsoft.com/mssql/server:2019-latest
参数说明:
- –name: 指定容器名称
- -h: 指定容器ID
- -p:端口映射 (主机端口:容器端口)
- -e: SQL Server内部参数
- -e “ACCEPT_EULA=Y”: 将 ACCEPT_EULA 变量设置为任意值,以确认接受最终用户许可协议。 SQL Server 映像的必需设置。
- -e “SA_PASSWORD=MYpassword2019”:指定至少包含 8 个字符且符合 SQL Server 密码要求的强密码。 SQL Server 映像的必需设置。
- -d: 容器镜像(REPOSITORY)
SQLserver 密码要求:
- 密码不得包含用户的帐户名。
- 密码长度至少为八个字符。
- 密码包含以下四类字符中的三类:
- 拉丁文大写字母 (A - Z)
- 拉丁文小写字母 (a - z)
- 10 个基本数字 (0 - 9)
- 非字母数字字符,如感叹号 (!)、美元符号 ($)、数字符号 (#) 或百分号 (%)。
- 密码可最长为 128 个字符。 使用的密码应尽可能长,尽可能复杂。
可以通过运行docker ps
查看正在运行的容器
3. 连接SQL Server2019 数据库容器
3.1 命令行工具-sqlcmd
1. 进入容器
sudo docker exec -it sqlserver2019 bash
2. 使用sqlcmd进行本地连接
/opt/mysql-tools -S localhost -U SA -P "MYpassword2019"
3.2 使用SSMS连接
3.3 使用 Navicat连接
4. 其它
4.1 更改SA密码
SA 帐户是安装过程中在 SQL Server 实例上创建的系统管理员。 创建 SQL Server 容器后,通过在容器中运行 echo $SA_PASSWORD
,可发现指定的 SA_PASSWORD
环境变量。 出于安全考虑,请考虑更改 SA 密码。
sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd \
-S localhost -U SA -P "MYpassword2019" \
-Q 'ALTER LOGIN SA WITH PASSWORD="MYnewPASSWORD2019"'
4.2 Docker基础
更多关于Docker的内容请点击此处:Docker入门