前言

这学期就开数据库的课程了,因为疫情的影响,我们都在家里上网课,这里数据库课程学习的是SqlServer2016的操作,因为之前我用的都是MySQL,第一次接触巨硬家的数据库,然后就先下载了试一试,光是安装的过程就花了不少时间,最蛋疼的是巨硬居然没把MSSM给一同封装到安装包里,然后还要去下载一个MSSM的安装包。Snipaste_2020-02-25_16-49-25.png
最后打开开始菜单一看,我吐了#(吐),一下子多出来那么多程序,不知道怎么了,心里莫名膈应#(内伤),然后打开MSSM新建了一个表,然后越想越气#(愤怒),我决定卸载掉这个玩意,打开程序卸载的入口,满屏的SqlServer程序,然后我去网上搜了一下SqlServer卸载工具,打开用了一下,发现还是要一个一个卸载,只是把里面带有Sql字段的程序都列给你了,居然我的Navicat也在其中,#(喷水)。花了半个小时一个一个点完了,期间重启了好几次,那个卸载程序不重启就不能点,淦!感觉我的电脑像被人糟蹋一般,正好早上我学习了一下Docker,然后就抱着试一试的心态去看看Docker能不能部署SqlServer,搜了一下还真有,记录一下,顺便水一篇文章。@(滑稽)

过程

安装Docker

下载配置Docker这里就不说了,自行百度

拉取镜像

Snipaste_2020-02-25_19-41-25.png
先去Docker Hub找一下SQL Server的镜像,这里面分好几个版本的镜像,我使用的就是2017-CU8-ubuntu的这个版本,虽然我们学的是2016,但是没多大区别。
Docker最爽的的就是找到镜像然后pull下来就好了#(装大款),之前在我电脑装过一次都要吐了,还好我装过JDK不然还要装个JDK才能跑。
最简单的密码、端口运行容器:

docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=123@root" -p 1433:1433 -d mcr.microsoft.com/mssql/server:2017-CU8-ubuntu

如果没啥问题,这一个命令就搞定,舒服#(吐舌)

参数含义
-e "ACCEPT_EULA=Y"同意用户许可,如果不同意就不能用
-e "SA_PASSWORD=123@root"这里设置的是数据库账号sa的密码
-p 1433:1433这里是把Docker里的端口映射到本机端口
-d 后面的参数启动2017-CU8-ubuntu这个版本

更多参数可以参照Docker Hub里的文档:点击访问

使用MSSM来连接SqlServer

上课是需要这个的,所以就先用这个来测试能不能连上吧

  1. 下载安装MSSM,这里不再赘述,自行百度
  2. 打开MSSM,默认地址localhost,账号默认管理员账号sa,密码就是我们之前设置的密码,点击连接,ok连接成功!

Snipaste_2020-02-25_19-34-52.png

  1. 新建一个表看看,也没问题,那么我们的配置就算成功了

Snipaste_2020-02-25_19-38-22.png

遇到的坑

1. 运行SqlServer启动不成功,使用docker ps -a命令发现状态是退出:

当时没有看见Docker Hub文档的那个小字:Start a mssql-server instance using the CU8 release IMPORTANT NOTE: If you are using PowerShell on Windows to run these commands use double quotes instead of single quotes.意思就是如果使用的是Windows下的powershell 你得把参数里的单引号改成双引号。
Snipaste_2020-02-25_19-25-53.png
还有一个不成功使用docker logs 命令提示是内存不足,SqlServer至少需要2G的内存,这里是因为,docker for windows有俩container,一个是Linux container这个是支持自己更改内存的,还有一个是Windows container这个是依靠Hyper-V的虚拟机技术自动分配的,因为Linux container启动很慢,所以我就改成Windows container了,结果发现不支持改内存,那么只好换成原来的Linux container,改成4G内存。

2. VMware与Docker for Windows不兼容

Snipaste_2020-02-28_20-20-32.png
2020年2月28日更新,因为想要使用Centos的图形安装界面把centos装到u盘(不是做centos启动盘,而是把系统用虚拟机写到u盘里),然后打开Vmware开虚拟机报错,经过一番搜索,发现是与Hyper-V不兼容,关了就不能使用docker for Windows了,所以最后卸载了VMware。

先写这么多以后再填坑

Last modification:May 27th, 2020 at 02:04 pm
如果觉得我的文章对你有用,请随意赞赏