Docker启动SQL Server 2022实例失败,请求排查帮助
Docker部署SQL Server 2022启动失败排查与修复
核心问题分析
- 端口映射错误:SQL Server默认监听端口是1433,你当前配置映射的是1434,容器内SQL Server并未在1434端口启动,这会导致服务初始化后无法正常对外提供服务,甚至触发启动校验失败。
- 数据卷挂载路径错误:SQL Server容器默认的数据存储目录是
/var/opt/mssql,你挂载到了/data/db,容器启动时无法找到正确目录初始化数据库文件,这是启动失败的主要原因。
修正后的docker-compose配置
version: '3.8' services: sqlserver_container: image: mcr.microsoft.com/mssql/server:2022-latest container_name: sqlserver_instance ports: - "1433:1433" # 映射SQL Server默认端口 environment: - ACCEPT_EULA=Y - SA_PASSWORD=YourStrong!Passw0rd volumes: - my_sqlserver_data:/var/opt/mssql # 挂载到容器默认数据目录 volumes: my_sqlserver_data:
修复步骤
- 清理现有容器和残留数据卷:
docker-compose down -v - 用修正后的配置重新启动服务:
docker-compose up -d - 查看日志确认启动状态:
正常启动会出现docker logs sqlserver_instanceSQL Server is now ready for client connections.的日志提示。
额外验证操作
- 再次确认宿主机1433端口空闲:
# Windows系统 netstat -ano | findstr :1433 # Linux/macOS系统 ss -tulpn | grep :1433 - 使用SQL客户端测试连接:
- 服务器地址:
localhost,1433 - 用户名:
sa - 密码:
YourStrong!Passw0rd
- 服务器地址:
内容的提问来源于stack exchange,提问作者Bron
相关产品推荐
相关产品推荐

