docker 安装sqlserver + 踩坑(docker 无法运行sqlserver 容器)
本文介绍如何在docker 中使用sqlserver镜像,运行sqlserver 容器,并在容器外部访问sqlserver 数据库。本文演示得docker,为windows dockers desktop。
一、查找镜像
在 docker hub(https://hub.docker.com/_/microsoft-mssql-server) 上找到sqlserver 镜像。
二、拉取镜像:
powershell 鼠标右键 以管理员身份运行,输入 官网给出的命令: docker pull mcr.microsoft.com/mssql/server:2017-latest
三、运行sqlserver 数据库容器
运行如下命令,开启容器:docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Fyy@12345678" -p 1433:1433 --memory 2000M --name sqlserver -d mcr.microsoft.com/mssql/server:2017-latest
其中,有几个坑点:不处理这些坑点,会导致你的 sqlserver 容器不能正常运行。
1."ACCEPT_EULA=Y" 和 "SA_PASSWORD=Fyy@12345678" : windows docker,这里必须是双引号。
2."SA_PASSWORD=Fyy@12345678" 密码复杂度,要有大小写、特殊符号 和 数字
3. --memory 2000M:sqlserver 的容器运行时,内存要>=2000MB,因此,要指定 容器运行时内存。否则容器已启动就推出,且不会有任何异常信息。
当容器不能启动,或者启动就退出时,可以 用命令 docker logs <container> 查看日志,根据日志信息解决问题(<container> 为需要操作的 容器ID或者 name,后面不再说明)。
四、访问数据库:
数据库容器运行后,就可以在容器外,通过ssms 访问数据库。
1. 根据 docker inspect <container> 命令查看sqlserver容器的网络,其中<container> 代表要操作的容器,可以是容器的name 或者ID。
2.容器外 ssms连接数据库:填入容器IP,以及启动容器时设置的账号密码 登录容器数据库。
参考:https://hub.docker.com/_/microsoft-mssql-server
有疑问,可在这里提issue,有人解答:https://github.com/microsoft/mssql-docker/issues
数据库容器挂载及其他命令,可参考:https://www.cnblogs.com/hulizhong/p/11271739.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!