文章目录
  1. 1. 一.docker安装
  2. 2. 二. 拉取并运行容器镜像
  3. 3. 三.连接到sqlservice

一.docker安装

二. 拉取并运行容器镜像

1> 从 Microsoft 容器注册表中拉取 SQL Server 2017 Linux 容器镜像。

1
sudo docker pull mcr.microsoft.com/mssql/server:2017-latest

2> 使用 Docker 运行容器镜像

1
2
3
sudo 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
3
sudo 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 Shell

1
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

文章目录
  1. 1. 一.docker安装
  2. 2. 二. 拉取并运行容器镜像
  3. 3. 三.连接到sqlservice