CentOS中使用Docker安装SqlServer以及遇到的那些坑
场景
CentOS7中Docker的安装与配置:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119028701
首先按照上面在CentOS7中安装Docker
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
1、在CenoOS上新建目录mssqlvol,在此目录下新建data、log、secrets三个目录,用来做SqlServer的数据卷映射。
2、拉取镜像
docker pull mcr.microsoft.com/mssql/server:2019-latest
3、启动
sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=badao123456' -p 1433:1433 -v /mssqlvol/data:/var/opt/mssql/data -v /mssqlvol/log:/var/opt/mssql/log -v /mssqlvol/secrets:/var/opt/mssql/secrets -d mcr.microsoft.com/mssql/server:2019-latest
命令详解:
-e 'ACCEPT_EULA=Y' 代表同意SQL SERVER使用条框,否则无法使用。
-e 'MSSQL_SA_PASSWORD=badao123456' 设置SA用户的密码,要求密码长度必须至少为8个字符,并包含以下四组中的三组字符:大写字母、小写字母、以10为基数的数字和符号。
-p 1433:1433 将宿主机1443与容器1443端口进行映射
后面三个-v都是数据卷的映射
-d 后台运行
4、开放防火墙端口
firewall-cmd --zone=public --add-port=1433/tcp --permanent
firewall-cmd --reload
5、进入容器
docker exec -it b998d4bee197 /bin/bash
后面跟的是容器ID
然后到/opt/mssql-tools/bin下,使用sqlcmd连接并创建一个表以及查询所有表
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P Badao123456
通过语句
3> CREATE DATABASE BADAO;
4> SELECT Name from sys.Databases;
5> go
效果:
输入:
quit
退出语句
输入
exit
退出容器
6、连接SqlServer
下载SSMS
https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15
下载之后安装,安装之后连接
进入到上面映射的数据卷存放data数据的地方
可以看到数据库映射也成功了
7、踩坑1
容器启动后,过一会就没了。可以通过查看日志的方式排查
查看容器运行日志,后面跟的是容器ID
docker logs -f b998d4bee197
日志提示:
Setup FAILED copying system data file 'C:\templatedata\master.mdf' to '/var/... 5(Access is denied)
原因是创建的数据卷映射的目录权限不够
赋予权限
sudo chmod 777 -R /mssqlvol
然后运行容器时使用sudo docker run,原来是直接使用docker run
8、踩坑2
再次运行还是一会就停止了。再次查看日志
The password does not meet SQL Server password policy requirements because it is not complex enough. The password must be at least 8 characters long and contain characters from three of the following four sets: Uppercase letters, Lowercase letters, Base 10 digits, and Symbols
这是因为密码太简单了,不符合要求
密码长度必须至少为8个字符,并包含以下四组中的三组字符:大写字母、小写字母、以10为基数的数字和符号
9、踩坑三
使用Navicat连接时提示:
远程主机强迫关闭了一个现有的连接,Client unable to establish connection(10054)
下载SSMS进行连接,可能跟没开代理有关,所以使用Navicat连接不上。
10、踩坑四
日志中提示:This program requires a machine with at least 2000 megabytes of memory
这是因为这里使用的是虚拟机,而SqlServer要求至少2G以上的内存。
11、官方教程
可以参照官方教程进行部署和配置
https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-docker-container-configure?view=sql-server-ver15&pivots=cs1-bash
CentOS中使用Docker安装SqlServer以及遇到的那些坑相关推荐
- win10中通过docker安装sqlserver服务器的操作说明
目录 简介 Docker安装 在Docker中安装sql server 总结 简介 在了解了Docker之后,有段时间一直想用Docker来完成数据库服务的安装,这样只要打开Docker服务后,在电脑 ...
- CentOS中使用Docker安装Jenkins
场景 CentOS7中Docker的安装与配置: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119028701 首先按照上面在 ...
- 【centos7中使用docker安装KLEE】
1安装docker 1.1 准备 建立repository yum install -y yum-utils 由于我的环境中安装多个版本的python,使用"python --verion& ...
- 腾讯云轻量应用服务器CentOS系统使用docker安装tomcat,MySQL 并发布SSM maven项目
腾讯云轻量应用服务器CentOS系统使用docker安装tomcat,MySQL 并发布SSM maven项目(记录) 一.服务器修改密码(此时已安装CentOS系统) 二.防火墙添加规则 三.连接X ...
- 浅谈在centos中使用docker部署war包项目(jsp篇)
在centos中使用docker部署war包项目(jsp篇) 一.环境的准备 二.Docker优点 1.简化程序 2.避免选择恐惧症 3.节省开支 三.Docker结构 1.Client( Doc ...
- 使用Docker安装sqlServer
使用Docker安装sqlServer 使用docker拉取镜像 docker pull mcr.microsoft.com/mssql/server:2017-latest 创建容器 这里映射的端口 ...
- docker选择安装位置_如何使用docker 1.13版本更改centos 7中的docker安装目录
我在下面附上了码头工人的详细信息, $docker info Containers: 3 Running: 3 Paused: 0 Stopped: 0 Images: 26 Server Versi ...
- CentOS 7 上 Docker 安装
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. Docker支持以下的CentOS版本: CentOS 7 (64-bit) CentOS 6.5 ...
- Centos系统基于Docker安装tensorflow
要基于Docker安装tensorflow,当然首先要安装Docker了,下面先说安装Docker的步骤 1. 首先卸载电脑上可能存在的老的版本,如果没有安装过可以不执行 $ sudo yum re ...
最新文章
- js创建对象的几种方法及继承
- LeetCode周赛191
- python入门指南 小说-Python入门指南 作者:许半仙(4)
- python数据框常用操作_转载:python数据框的操作
- python 类方法 函数_Python OOP类中的几种函数或方法总结
- 100C之13:他该如何存款?
- linux 显示文件多少行
- Windows系统判断是否为64位系统(C++)
- 修改系统提供视图类的显示字体
- 3给定关键字不在字典中_Python龙珠训练营五:数据结构之字符串、字典
- Douyu0.6.1 源码分析 之 MVC篇
- 数量关系--工程问题
- 樊登读书搞定读后感_读书笔记 1 :《读懂一本书-樊登读书法》
- win10任务管理器禁用_如何在Windows 10的文件资源管理器中禁用广告和通知
- abc云支付php,糖果易支付 - 免签约支付平台,彩虹易支付,abc云支付,糖果支付
- Android Oreo 常见问题 3.0 | Android 开发者 FAQ Vol.11
- Linux命令行与shell脚本编程大全.第3版.pdf
- wince下SD卡驱动开发
- 基于深度学习的高精地图的自动生成与标注
- 十大最佳DevOps工具
热门文章
- Square Card 计算几何-两圆相交面积
- Logstash配置多个Input、Filter、Output
- VMware虚拟机安装centos
- vue怎么运行html,怎样运行一个vue.js项目
- C语言ATD1SC,2020-10-13_ATD(模数转换)模块介绍
- iphone4s解锁_苹果手机忘记密码怎么办?iPhone忘记密码解锁恢复方法
- php cms使用视频教程,PHPCMS v9视频模块使用教程二
- django models索引_Django(生命周期、每部分详解、路由层)
- jquery 乱码 传参_jquery获取URL中参数解决中文乱码问题的两种方法
- python上传文件到windows_python自动化-WinSpy+pywin32文件上传操作