目录


前言

一、安装前Docker必须条件?

二、安装步骤

1.拉取MSSqlserver容器镜像

2.查看镜像是否拉取成功

3.创建mssql的容器并运行

4. 查看容器运行状况

三、更改 sa 密码

四、外部机器访问 Docker MS Sqlserver2017


总结

参考文章




前言

作为一个.NET 开发人员,大家都知道微软的数据只能运行在windows电脑中。可自从Dokcer火了之后,微软现在已经将它的Sql server2017以后的数据库从windows平台迁移到了Docker中啦!


一、安装前Docker必须条件?

  1. Docker 的版本必须大于1.8

命令如下:

docker version
  1. Docker宿主机内存大于2GB
  2. Docker宿主机硬盘容量大于2GB

二、安装步骤

1.拉取MSSqlserver容器镜像

命令如下:

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

在拉取安装的过程中会较为漫长,主要还是根据网络有关。请大家耐心等待,如果在拉取过程中出现报错或网络中断,那么只需要从新运行上面的命令即可。它会自动从断点继续拉取。

2.查看镜像是否拉取成功

命令如下:

docker images

sqlite3 docker 如何连接 docker安装sqlserver2008_Docker

当看到如上图所示,那么就说明镜像拉取成功啦~~~

3.创建mssql的容器并运行

命令如下:

sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=你的密码" -p 1433:1433 --name mssql -d  mcr.microsoft.com/mssql/server:2017-latest

注意:

密码应符合 SQL Server 默认密码策略,否则容器无法设置 SQL Server,将停止工作。 默认情况下,密码的长度必须至少为 8 个字符,并且必须包含以下四种字符中的三种:大写字母、小写字母、十进制数字和符号。 你可以通过执行 docker logs 命令检查错误日志。

默认情况下,这会创建一个使用 SQL Server 2017 开发人员版的容器。 在容器中运行生产版本的过程略有不同。 有关详细信息,请参阅运行生产容器映像

docker run 参数说明

参数

说明

-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,并对主机上的端口 1433 公开。

--name mssql

为容器指定一个自定义名称,而不是使用随机生成的名称。 如果运行多个容器,则无法重复使用相同的名称。

-d

在后台运行容器(守护程序)

** mcr.microsoft.com/mssql/server:2017-latest**

SQL Server 2017 Linux 容器映像。

4. 查看容器运行状况

命令如下:

docker ps -a

结果如下:

sqlite3 docker 如何连接 docker安装sqlserver2008_sqlite3 docker 如何连接_02

在STAUS这栏下显示该容器已经在1小时前运行成功了。

三、更改 sa 密码

命令如下:

sudo docker exec -it mssql /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "旧密码" -Q 'ALTER LOGIN SA WITH PASSWORD="新密码"'

四、外部机器访问 Docker MS Sqlserver2017

输入宿主机的ip地址和Docker mssql 的密码,直接就可以登录。如果还是不能登录请检查宿主机是否开放了1433端口。


总结

本次内容主要详细讲解了Docker中如何安装MS sql2017数据库,以及需要注意的一些问题。这里特别强调下密码必须安装强制密码要求取设置,否则容器不能运行。

参考文章

快速入门:使用 Docker 运行 SQL Server 容器映像(微软官方)