拉取镜像
docker pull mcr.microsoft.com/mssql/server:2019-latest
运行容器
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=93i7f5^#Wpe98G6$" \ -p 1433:1433 --name sql1 -h sql1 \ -d mcr.microsoft.com/mssql/server:2019-latest
备注
密码应符合
SQL Server
默认密码策略,否则容器无法设置SQL Server
,将停止工作。 默认情况下,密码的长度必须至少为 8 个字符,并且必须包含以下四种字符中的三种:大写字母、小写字母、十进制数字和符号。 你可以通过执行 docker logs 命令检查错误日志。默认情况下,这会创建一个使用
SQL Server 2019
开发人员版的容器。
查看容器运行状态
docker ps | grep sql1
进入容器
docker exec -it sql1 bash
测试连接
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<YourNewStrong@Passw0rd>"
创建 SQL Server
容器后,通过在容器中运行 echo $SA_PASSWORD
,可发现指定的 SA_PASSWORD
环境变量。 出于安全考虑,需要更改 SA
密码。进入容器运行 sqlcmd
,然后根据提示输入旧密码和新密码
docker exec -it sql1 bash /opt/mssql-tools/bin/sqlcmd \ -S localhost -U SA \ -P "$(read -sp "Enter current SA password: "; echo "${REPLY}")" \ -Q "ALTER LOGIN SA WITH PASSWORD=\"$(read -sp "Enter new SA password: "; echo "${REPLY}")\""
测试新密码是否正确测
docker exec -it sql1 bash /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<YourNewStrong@Passw0rd>"
Sqlcmd
连接到数据库测试连接数据
sqlcmd -S <ip_address>,1433 -U SA -P "<YourNewStrong@Passw0rd>"
使用 Docker 运行 SQL Server 容器映像