本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
基于 Ubuntu 的 Microsoft SQL Server 官方 Docker 镜像,用于在 Docker 环境中快速部署 SQL Server 数据库实例。该镜像支持多个 SQL Server 版本(2025、2022、2019、2017 等),提供灵活的配置选项,适用于开发、测试及生产环境(需遵守许可协议)。
mssql-tools18 工具包,工具路径为 /opt/mssql-tools18/bin(原 /opt/mssql-tools/bin 逐步淘汰)。sqlcmd、bcp 等工具遵循“默认安全”原则),需显式禁用加密。MSSQL_PID 指定。# 拉取最新版(默认 2022-latest) docker pull mcr.microsoft.com/mssql/server:latest # 拉取特定版本(如 2025 预览版) docker pull mcr.microsoft.com/mssql/server:2025-latest
docker run -d \ --name sqlserver2022 \ -e "ACCEPT_EULA=Y" \ -e "MSSQL_SA_PASSWORD=YourStrong!Passw0rd" \ -p 1433:1433 \ mcr.microsoft.com/mssql/server:2022-latest
docker run -d \ --name sqlserver-express \ -e "ACCEPT_EULA=Y" \ -e "MSSQL_SA_PASSWORD=YourStrong!Passw0rd" \ -e "MSSQL_PID=Express" \ -p 1433:1433 \ mcr.microsoft.com/mssql/server:2022-latest
# 示例:SQL Server 2022 CU16(基于 Ubuntu 22.04) docker run -d \ --name sqlserver-2022-cu16 \ -e "ACCEPT_EULA=Y" \ -e "MSSQL_SA_PASSWORD=YourStrong!Passw0rd" \ -p 1433:1433 \ mcr.microsoft.com/mssql/server:2022-CU16-ubuntu-22.04
创建 docker-compose.yml:
version: '3.8' services: sqlserver: image: mcr.microsoft.com/mssql/server:2022-latest container_name: sqlserver environment: - ACCEPT_EULA=Y - MSSQL_SA_PASSWORD=YourStrong!Passw0rd - MSSQL_PID=Developer # 开发版(非生产环境) ports: - "1433:1433" volumes: - sqlserver_data:/var/opt/mssql # 数据持久化 restart: unless-stopped volumes: sqlserver_data:
启动服务:
docker-compose up -d
| 变量名 | 说明 | 必需 | 默认值 |
|---|---|---|---|
ACCEPT_EULA | 确认接受 SQL Server 许可协议(必须设为 Y) | 是 | - |
MSSQL_SA_PASSWORD | SA 用户密码(至少 8 字符,包含大小写字母、数字、特殊符号) | 是 | - |
MSSQL_PID | 指定 SQL Server 版本(如 Developer、Express、Enterprise 等) | 否 | Developer |
MSSQL_PID 可选值(SQL Server 2025 预览版为例):
Evaluation:评估版(免费,180 天限制,非生产用)Enterprise Developer:企业开发版(免费,非生产用)Standard Developer:标准开发版(免费,非生产用)Express:Express 版(免费)Web、Standard、Enterprise:付费版(需有效许可)sqlcmd)# 进入容器 docker exec -it sqlserver2022 bash # 连接数据库(容器内) /opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P YourStrong!Passw0rd
从宿主机或远程机器使用 sqlcmd(需安装 SQL Server 命令行工具):
sqlcmd -S localhost,1433 -U sa -P YourStrong!Passw0rd -No # -No 禁用加密(仅测试用)
注意:ODBC 18 驱动默认启用加密,连接时若需禁用,需添加
-No(o代表 optional)。
通过挂载卷(Volume)或绑定目录(Bind Mount)持久化数据:
# 使用卷(推荐) docker run -d \ --name sqlserver \ -e "ACCEPT_EULA=Y" \ -e "MSSQL_SA_PASSWORD=YourStrong!Passw0rd" \ -v sqlserver_data:/var/opt/mssql \ # 卷挂载 -p 1433:1433 \ mcr.microsoft.com/mssql/server:2022-latest
| 标签 | 说明 | 基础系统 |
|---|---|---|
2025-latest | SQL Server 2025 预览版 | Ubuntu 22.04 |
2022-latest | SQL Server 2022 最新版 | Ubuntu 22.04 |
2019-latest | SQL Server 2019 最新版 | Ubuntu 20.04 |
2017-latest | SQL Server 2017 最新版 | Ubuntu 18.04 |
GA:正式发布版(如 2022-GA-ubuntu-22.04)CU:累积更新版(如 2022-CU21-ubuntu-22.04)CTP:社区技术预览版(如 2025-CTP2.1-ubuntu-22.04)GDR:安全更新版(仅包含安全修复,如 2022-CU20-GDR1-ubuntu-22.04)完整标签列表:访问 MCR 标签列表。
从 SQL Server 2022 CU14 和 2019 CU28 开始:
/opt/mssql-tools18/bin(原 /opt/mssql-tools/bin 逐步淘汰)。sqlcmd 等工具需显式禁用加密(如 -No 选项):# 示例:禁用加密连接 sqlcmd -S 192.168.1.100,1433 -U sa -P YourStrong!Passw0rd -No
ACCEPT_EULA=Y 确认)。免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429