Docker安装部署Sql Server
docker安装与启动
查看docker官网sqlserver镜像源
https://hub.docker.com/_/microsoft-mssql-server
获取docker镜像
docker pull mcr.microsoft.com/mssql/server:2017-latest
查看镜像
docker images
启动服务
docker run --name msserver -d \
-e 'ACCEPT_EULA=Y' \
-e 'MSSQL_SA_PASSWORD=MyPassWord123' \
-p 14330:1433 \
-v `pwd`/data:/var/opt/mssql \
mcr.microsoft.com/mssql/server:2017-latest
脚本解释
–name msserver:指定容器名
-e ‘ACCEPT_EULA=Y’:同意许可协议
-e ‘MSSQL_SA_PASSWORD=MyPassWord123’:MSSQL_SA_PASSWORD为密码,要求是最少8位的强密码,要有大写字
母,小写字母,数字以及特殊符号,不然会有一个大坑(docker启动sqlserver容器后过几秒就停止了)
-p 14330:1433:绑定端口,其中14330是主机的端口,1433是docker内部SQLserver的端口,我们使用14330端口的时候会
自动映射到docker内部的1433端口
-v `pwd`/data:/var/opt/mssql:数据卷映射至本机/data文件夹,没有会自动创建
-d 后台运行
进入容器操作
-- 进入sqlserver容器
sudo docker exec -it msserver "bash"
-- 登录用户sa,进行数据库操作
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "MyPassWord123"
出现上图表示登录成功,即可以操作数据库了
更改sa的登录密码
先进入容器
sudo docker exec -it msserver "bash"
修改密码
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "MyPassWord123" -Q 'ALTER LOGIN SA WITH PASSWORD="Root1234"'
修改三次才成功,第一次是密码不够8个字符,第二次是不满足密码设置规则,大小写和数字,第三次才搞成功。
使用Navicat连接SQL Server
测试连接如果有报如下错误
[IM002][Microsoft][ODBC 驱动程序管理器]未发现数据源名称并且未指定默认驱动程序(0)
解决方法
安装navicat自带sqlncli_x64.msi,就在安装目录下,安装后问题解决!
运行哪个需要看你们电脑装的是32位还是64位的,对应双击安装即可,安装后再次连接成功
Navicat连接sqlserver 端口号配置
连接sqlserver 端口号 是加在 ip地址后面的用 逗号 分开格式如下
主机名或ip地址:172.16.10.54,1433
验证:SQL SERVER 验证
用户名:SA
密码:********
评论