在Linux操作系统,已安装docker,现在以docker compose方式,安装一个最新版SQL Server 2022的数据库。
# 建个目录(请不要照抄,我的数据盘在/data,你可以改为/opt)
mkdir /data/sqlserver# 进入目录
cd /data/sqlserver# 编辑
vi docker-compose.yml
目录的权限
SQL Server 2022 容器默认以非 root 用户(mssql,UID=10001,GID=10001)运行,需要主机的/data/sqlserver目录对该用户有读写权限。执行以下命令授权:
递归修改目录的所有者为容器内mssql用户的UID/GID(10001)
sudo chown -R 10001:10001 /data/sqlserver确保目录有足够的读写权限
sudo chmod -R 755 /data/sqlserver
写入以下内容
version: '3.8'services:mssql-server:image: mcr.microsoft.com/mssql/server:2022-latestcontainer_name: mssql-2022-garestart: always # 容器退出时自动重启,增强生产环境稳定性environment:- ACCEPT_EULA=Y # 必须接受 SQL Server 许可协议- SA_PASSWORD=Sqlserver@123456 # SA 账户密码,按需求设置- MSSQL_PID=Developer # 版本标识,Developer 版适合开发测试,生产环境可改为 Enterprise/Standard(需对应授权)ports:- "1433:1433" # 映射 SQL Server 默认端口到主机volumes:- /data/sqlserver:/var/opt/mssql # 将主机的 /data/sqlserver 目录挂载到容器内的数据存储路径networks:- mssql-network # 自定义网络,便于容器间通信(如应用连接数据库)networks:mssql-network:driver: bridge # 使用桥接网络模式
启动容器
# 启动容器
docker-compose up -d
最后连接测试
扩展阅读:
整个镜像1.63GB
这比起Windows上安装还方便,只占用不到1GB内存。
docker stats mssql-2022-ga
不错,不错,真香
该方法同样适用于安装SQL Server 2025、SQL Server 2022、SQL Server 2019、SQL Server 2017,微软官方镜像详见:
https://hub.docker.com/r/microsoft/mssql-server