centos下使用docker安装sql server并使用
直接上平时开发使用时候的命令:
docker run \
-e "ACCEPT_EULA=Y" \
-e "MSSQL_SA_PASSWORD=Jonny@1995" \
-p 1401:1433 \
-v /home/yy/data:/var/opt/mssql/data \
-v /home/yy/log:/var/opt/mssql/log \
-v /home/secrets:/var/opt/mssql/secrets \
--name mysqlserver \
-d mcr.microsoft.com/mssql/server:2017-latest \
--restart=always
当本地没有mcr.microsoft.com/mssql/server:2017-latest
镜像时会自动去拉取镜像,这里对docker hub以及镜像、容器这些概念就不做啰嗦。
解释:
参数 | 说明 |
---|---|
-e “ACCEPT_EULA=Y” | 将 ACCEPT_EULA 变量设置为任意值,以确认接受最终用户许可协议。 SQL Server 映像的必需设置。 |
-e “MSSQL_SA_PASSWORD=Jonny@1995” | 指定至少包含 8 个字符且符合 SQL Server 密码要求的强密码。 SQL Server 映像的必需设置。 |
-p 1401:1433 | 将主机环境中的 TCP 端口(第一个值)映射到容器中的 TCP 端口(第二个值)。 在此示例中,SQL Server 侦听容器中的 TCP 1433,并对主机上的端口 1401 公开。 |
–name mysqlserver | 为容器指定一个自定义名称,而不是使用随机生成的名称。 如果运行多个容器,则无法重复使用相同的名称。 |
mcr.microsoft.com/mssql/server:2017-latest | sqlserver容器镜像 |
-d | 容器后台进程运行 |
-v /home/yy/data:/var/opt/mssql/data | 指定sqlserver本地数据文件 |
-v /home/yy/log:/var/opt/mssql/log | 指定sqlserver日志文件 |
–restart=always | 容器开机自启 |
关于这里的开机自启有什么不清楚的参见https://blog.csdn.net/xhl_james/article/details/105198319
注意:设置docker服务开机自启命令:systemctl enable docker.service
查看其他mssql镜像:
docker search mssql
参考地址