Docker安装部署Sql Server

Java架构技术进阶

共 1470字,需浏览 3分钟

 · 2021-03-13

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
密码:********


浏览 86
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报