合 在Docker中快速使用SQL Server 2022环境
Tags: MSSQLSQL ServerDocker2022
简介
docker hub地址:https://hub.docker.com/_/microsoft-mssql-server
使用 Docker 请求和运行 SQL Server 2022 (16.x) Linux 容器映像 mssql-server-linux。 然后可以使用 sqlcmd 进行连接,创建第一个数据库并运行查询。
此映像包含在基于 Ubuntu 20.04 的 Linux 上运行的 SQL Server。 它可在 Linux 上与 Docker 引擎 1.8+ 配合使用。
本文中的示例使用 docker
命令。 但大多数这些命令也可用于 Podman。 Podman 有一个类似于 Docker 引擎的命令行接口。 可以详细了解 Podman。
快速安装部署
下载镜像
1 2 | docker search mssql docker pull mcr.microsoft.com/mssql/server:2022-latest |
创建容器
SA_PASSWORD
环境变量已弃用。 请改用MSSQL_SA_PASSWORD
。
1 2 3 4 5 6 7 8 9 10 11 | docker rm -f mssql2022 docker run -d --name mssql2022 --hostname mssql2022 \ -p 1403:1433 \ -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=lhr@zr123" \ -e "TZ=Asia/Shanghai" \ -e "MSSQL_PID=Enterprise" \ -e "MSSQL_LCID=2052" \ -e "MSSQL_COLLATION=Chinese_PRC_CI_AS" \ -e "MSSQL_AGENT_ENABLED=true" \ mcr.microsoft.com/mssql/server:2022-latest |
1、密码应符合 SQL Server 默认密码策略,否则容器无法设置 SQL Server,将停止工作。 默认情况下,密码必须为至少八个字符且包含以下四种字符中的三种:大写字母、小写字母、十进制数字、符号。 可使用 docker logs
命令检查错误日志。
2、下表对前一个 docker run
示例中的参数进行了说明:
参数 | 说明 |
---|---|
-e "ACCEPT_EULA=Y" | 将 ACCEPT_EULA 变量设置为任意值,以确认接受最终用户许可协议。 SQL Server 映像的必需设置。 |
-e "MSSQL_SA_PASSWORD=<YourStrong@Passw0rd>" | 指定至少包含 8 个字符且符合 SQL Server 密码要求的强密码。 SQL Server 映像的必需设置。 |
-e "MSSQL_COLLATION=<SQL_Server_collation>" | 指定自定义 SQL Server 排序规则,而不使用默认值 SQL_Latin1_General_CP1_CI_AS 。 |
-p 1433:1433 | 将主机环境中的 TCP 端口(第一个值)映射到容器中的 TCP 端口(第二个值)。 在此示例中,SQL Server 侦听容器中的 TCP 1433,此容器端口随后会对主机上的 TCP 端口 1433 公开。 |
--name sql1 | 为容器指定一个自定义名称,而不是使用随机生成的名称。 如果运行多个容器,则无法重复使用相同的名称。 |
--hostname sql1 | 用于显式设置容器主机名。 如果未指定主机名,则主机名默认为容器 ID,这是随机生成的系统 GUID。 |
-d | 在后台运行容器(守护程序)。 |
mcr.microsoft.com/mssql/server:2022-latest | SQL Server Linux 容器映像。 |
容器配置
Requirements
This image requires Docker Engine 1.8+ in any of their supported platforms.
At least 2GB of RAM (3.25 GB prior to 2017-CU2). Make sure to assign enough memory to the Docker VM if you're running on Docker for Mac or Windows.
Requires the following environment flags
"ACCEPT_EULA=Y"
"MSSQL_SA_PASSWORD=
" "MSSQL_PID=<your_product_id | edition_name> (default: Developer)"
A strong system administrator (SA) password: At least 8 characters including uppercase, lowercase letters, base-10 digits and/or non-alphanumeric symbols.
Environment Variables
You can use environment variables to configure SQL Server on Linux Containers.