Docker 安装MSSQL2022
操作前先看这->https://www.cnblogs.com/cool-net/p/16088264.html
如果找不到命令:
- ubuntu
echo 'export PATH="$PATH:$HOME/.dotnet/tools"' >> ~/.bashrc
source ~/.bashrc
- windows
$env:Path += ";$env:USERPROFILE\.dotnet\tools"
# 永久生效需要修改系统环境变量
可能需要3.1或5.0的sdk
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-3.1
加速
https://blog.whsir.com/post-8126.html
在 Docker 中运行 SQL Server 2022
- 拉取 SQL Server 2022 镜像
docker pull mcr.microsoft.com/mssql/server:2022-latest
- 运行容器
docker run -e "ACCEPT_EULA=Y" \
-e "MSSQL_SA_PASSWORD=YourStrong@Passw0rd" \
-p 1433:1433 \
--name sqlserver2022 \
-d mcr.microsoft.com/mssql/server:2022-latest
- ACCEPT_EULA=Y:接受最终用户许可协议。
- MSSQL_SA_PASSWORD:设置强密码(至少8个字符,包含大小写字母、数字和符号)。
- -p 1433:1433:将主机的1433端口映射到容器的1433端口。
连接到 SQL Server
- 通过容器内部连接
docker exec -it sqlserver2022 bash
/opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P "YourStrong@Passw0rd"
- 通过外部工具连接
使用 SQL Server Management Studio (SSMS) 或 Azure Data Studio,连接到 localhost,1433,并使用 sa 用户和密码登录。
数据持久化(可选)
docker run -e "ACCEPT_EULA=Y" \
-e "MSSQL_SA_PASSWORD=YourStrong@Passw0rd" \
-p 1433:1433 \
-v sqlvolume:/var/opt/mssql \
--name sqlserver2022 \
-d mcr.microsoft.com/mssql/server:2022-latest
- 此命令会将数据存储在宿主机的 sqlvolume 中,即使容器被删除,数据也会保留
如果挂在目录权限不够
赋予权限(关键步骤)
sudo chown -R 10001:0 /data/mssql2022
sudo chmod -R 755 /data/mssql2022
- 说明:10001是容器内mssql用户的默认 UID,0是 root 组 ID,这一步确保容器内用户能读写挂载目录。

浙公网安备 33010602011771号