一、拉取镜像
docker pull mcr.microsoft.com/mssql/server:2017-latest
二、运行容器
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=qwe20211114." -p 1433:1433 --name sqlserver2017 -d -v /root/data/sqlserver2017Data:/var/opt/mssql mcr.microsoft.com/mssql/server:2017-latest
参数说明:
-e "ACCEPT_EULA=Y"
:默认选择同意协议许可证
-e "SA_PASSWORD=qwe20211114.":
设置连接密码为qwe20211114.
-p 1433:1433
: 宿主机端口映射到容器端口(前者为宿主机)
--name sqlserver2017
:容器别名
-d
: 后台运行
-v
:挂载的目录
mcr.microsoft.com/mssql/server:2017-latest
:镜像名称:标签
三、进入容器
(1)进入容器
docker exec -it sqlserver2017 /bin/bash
(2)连接数据库
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "qwe20211114."
(3)修改数据库密码
alter login SA with password='qwe123456.'
go
四、使用navicat连接sqlserver
新建连接选择SQL Server
点击测试连接
报错了
解决办法:
安装win+r
输入control admintools
,然后回车
选择odbc
数据源
输入sqlserver
的用户和密码,就是docker
安装sqlserver
时的账户和密码,我的是qwe123456.
若还是没有解决
去下载:https://www.microsoft.com/zh-CN/download/details.aspx?id=56041
接点下载,然后从弹出的页面里,选择sqlncli.msi
,注意有两个, 选择大小 大 的那个。
下载后,安装,一直点next,然后重启navicat16
,然后再进行测试。