一、官方轻量镜像(推荐,小于2GB)
微软提供的基于 Ubuntu 的 Linux 版 SQL Server 镜像,体积远小于 Windows 容器版,核心版本大小如下:
| 镜像版本 | 典型大小 | 拉取命令 |
|---|---|---|
| SQL Server 2017 | 约1.33GB | docker pull mcr.microsoft.com/mssql/server:2017-latest |
| SQL Server 2019 | 约1.5GB | docker pull mcr.microsoft.com/mssql/server:2019-latest |
| SQL Server 2022 | 约1.7GB | docker pull mcr.microsoft.com/mssql/server:2022-latest |
这类镜像为官方维护,功能完整、兼容性强,适合开发/测试及生产环境,均满足小于2GB的体积要求,启动时仅需注意官方内存要求(默认检测宿主机≥2GB物理内存)。
二、第三方超小镜像(绕过内存限制,体积相近)
针对宿主机内存不足2GB的场景,社区提供了优化镜像,核心方案为 justin2004/mssql_server_tiny:
- 核心特点 :通过重定义
sysinfo系统调用,绕过 SQL Server 启动时的2GB内存检测,可在低内存环境运行,镜像体积与官方版基本一致(<2GB),功能无阉割。· -
-
拉取命令:
docker pull justin2004/mssql_server_tiny:2019-latest
-
下载加速
docker pull docker.1ms.run/justin2004/mssql_server_tiny:latest
-
快速启动命令 :
bashdocker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=你的强密码' -p 1433:1433 -d justin2004/mssql_server_tiny -
注意 :该镜像为社区维护,不建议用于生产环境,仅适合本地开发/测试场景。
三、补充说明
- 内存与镜像体积的区别 :SQL Server 启动时的2GB是宿主机物理内存检测阈值,并非镜像体积,官方 Linux 镜像体积本身就低于2GB,无需担心磁盘占用过高。
- Windows 容器版不推荐:Windows 基础镜像体积大,SQL Server Windows 容器版通常≥10GB,远超过2GB,优先选择 Linux 版。
- Azure SQL Database Edge :微软针对 IoT/边缘场景推出的轻量版,内存占用可低于500MB,镜像体积更小,适合资源极致受限的环境,可通过
mcr.microsoft.com/azure-sql-edge拉取。