Mac上使用docker安装sql server
总阅读 次
一.docker安装
略
二. 拉取并运行容器镜像
1> 从 Microsoft 容器注册表中拉取 SQL Server 2017 Linux 容器镜像。
1 | sudo docker pull mcr.microsoft.com/mssql/server:2017-latest |
2> 使用 Docker 运行容器镜像1
2
3sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=<YourStrong@Passw0rd>" \
-p 1433:1433 --name mssql \
-d mcr.microsoft.com/mssql/server:2017-latest
注意:
默认情况下,密码长度必须至少为8个字符,并且包含以下四个集合中的三个字符:大写字母,小写字母,数字和符号。
下表提供了先前docker run示例中的参数说明:
Parameter | Description |
---|---|
-e ‘ACCEPT_EULA=Y’ | 将ACCEPT_EULA变量设置为任何值以确认你接受最终用户许可协议。 |
-e ‘SA_PASSWORD=YourStrong!Passw0rd’ | 设置强密码 |
-p 1433:1433 | 使用容器中的TCP端口(第二个值)映射主机环境(第一个值)上的TCP端口。 在此示例中,SQL Server正在侦听容器中的TCP 1433,并且它将暴露给主机上的端口1433。 |
–name mssql | 为容器指定自定义名称,而不是随机生成的名称。 如果你运行多个容器,则无法重复使用此名称。 |
3> 查看Docker运行状态1
docker ps
4> 更改SA密码1
2
3sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd \
-S localhost -U SA -P "<YourStrong@Passw0rd>" \
-Q 'ALTER LOGIN SA WITH PASSWORD="<SWW455@sql>"'
三.连接到sqlservice
1> 使用 docker exec -it 命令在运行的容器内部启动交互式 Bash Shell1
sudo docker exec -it mssql "bash"
2> 在容器内部使用 sqlcmd 进行本地连接。 默认情况下,sqlcmd 不在路径之中,因此需要指定完整路径1
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<SWW455@sql>"
3> 如果成功,应会显示 sqlcmd 命令提示符:1>
可通过以下简单命令查看:
1> CREATE DATABASE TestDB
2> SELECT Name from sys.Databases
3> GO