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

  1. 拉取 SQL Server 2022 镜像
docker pull mcr.microsoft.com/mssql/server:2022-latest
  1. 运行容器
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

  1. 通过容器内部连接
docker exec -it sqlserver2022 bash
/opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P "YourStrong@Passw0rd"
  1. 通过外部工具连接
    使用 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,这一步确保容器内用户能读写挂载目录。
posted @ 2025-07-31 20:01  闲看花落  阅读(87)  评论(0)    收藏  举报