You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何搭建带可登录账户的Windows Docker容器版SQL Server

解决方案:手动构建带可登录账户的Windows Docker容器版SQL Server

针对Linux SQL容器不支持FileStream、官方Windows SQL镜像下架的问题,以下是基于mcr.microsoft.com/windows/servercore手动构建带可登录SA账户的SQL Server 2019 Core容器的完整方案。

一、完整Dockerfile

# 使用适配SQL Server 2019的Windows Server Core基础镜像
FROM mcr.microsoft.com/windows/servercore:ltsc2019

# 设置环境变量:SA密码、许可协议、版本标识
ENV SA_PASSWORD="YourStrong!Passw0rd"
ENV ACCEPT_EULA="Y"
ENV SQL_PID="Developer"

# 下载SQL Server 2019 Core官方安装包
RUN Invoke-WebRequest -Uri "https://download.microsoft.com/download/7/c/1/7c14e92e-bdcb-4f89-b7cf-93543e7112d1/SQLServer2019-CORE-x64-ENU.exe" -OutFile "C:\SQLServerInstall.exe"

# 静默安装SQL Server 2019 Core,启用混合认证并配置SA账户
RUN C:\SQLServerInstall.exe /Q /ACTION=Install /FEATURES=SQLEngine /INSTANCENAME=MSSQLSERVER /SECURITYMODE=SQL /SAPWD=$env:SA_PASSWORD /SQLSVCACCOUNT="NT AUTHORITY\SYSTEM" /SQLSYSADMINACCOUNTS="BUILTIN\Administrators" /TCPENABLED=1 /IACCEPTSQLSERVERLICENSETERMS

# 删除安装包以减小镜像体积
RUN Remove-Item -Path C:\SQLServerInstall.exe -Force

# 复制启动脚本
COPY start-sql.ps1 C:\start-sql.ps1
CMD ["powershell.exe", "-File", "C:\\start-sql.ps1"]

二、配套启动脚本(start-sql.ps1)

创建同目录下的start-sql.ps1文件,内容如下:

# 启动SQL Server服务
Start-Service MSSQLSERVER

# 保持容器运行(防止服务启动后容器立即退出)
while ($true) {
    Start-Sleep -Seconds 30
    if (-not (Get-Service MSSQLSERVER).Status -eq 'Running') {
        exit 1
    }
}

三、关键配置说明

  • 参数兼容性:SQL Server 2019 Core支持SECURITYMODE=SQL(启用混合认证)、SAPWD(设置SA密码)等参数,规避了2022开发者版参数不兼容的问题。
  • SA账户生效:安装阶段直接配置SA密码并将内置管理员组加入系统管理员列表,确保容器启动后SA账户可直接登录。
  • 容器存活机制:启动脚本通过循环检查服务状态,避免SQL Server启动完成后容器自动退出。

四、构建与运行命令

  1. 构建镜像:
docker build -t sql-server-2019-win-test .
  1. 启动测试容器:
docker run -d -p 1433:1433 --name sql-test-container sql-server-2019-win-test

五、登录验证

使用sqlcmd或SSMS进行连接测试:

sqlcmd -S localhost,1433 -U SA -P "YourStrong!Passw0rd"

连接成功后即可执行SQL命令,验证数据库服务正常运行。

内容的提问来源于stack exchange,提问作者Ben Bowen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 13:05:01