IceSandwich

Docker安装MicrosoftSQLServer

Docker安装MSSQL

字数统计: 612阅读时长: 2 min
2020/03/23 Share

由于课程需要,个人电脑需要装上Microsoft SQL Server 2012,但是呢,遇到Windows Update的问题无法安装,原因是我把Windows Update给禁用了,但是呢,又不想开启Windows Update,但是呢,MSSQL还是要用的嘛。所以呢,我想到在docker里面装MSSQL会怎么样,没想到还真的可以[1]😂。

拉取镜像

从docker hub官网[2]上找到MSSQL,欢天喜地,按照上面的提示拉取镜像。

值得注意的是,只有从2017版本开始MSSQL才有docker版,也就是说想装MSSQL2012是不可能的哈。这里我下载的是2017企业版,需要的话可以改成2019版的。

1
docker pull mcr.microsoft.com/mssql/server:2017-latest

残酷的事实,这里连接微软也不好。试了一天,难受得要命,最终受不了了,另寻出路,终于找到解决方案:使用Azure镜像[3]

1
docker pull mcr.azk8s.cn/mssql/server:2017-latest

终于拉取了镜像。

运行容器

现在docker应该有mssql镜像了。(不要管图中第一个额,其实我2019的也装了)

1
docker images

根据docker hub给的指引,开启容器:(这里密码改成自己的,密码最少8位而且要强,不然启动出错)

1
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=(你的密码)' -p 1433:1433  --name "mssql" -d mcr.azk8s.cn/mssql/server:2017-latest

从图中可以看到容器正常运行,映射到端口1433。额那怎么连接数据库呢?

1
docker-machine url

通过这个地址以及端口1433可以拼接成数据库地址:

192.168.99.101:1433

MSSM

上微软官网下载MSSM,我下载的是2017版本的MSSM。

打开MSSM,输入数据库地址,用户名(sa),密码,连接即可

通过查询版本,可以看到使用的是MSSQL2017开发版 on Linux版本

新建数据库,设计表这些功能应该是没问题的了,如果出现异常,很可能是因为版本不对。比如我MSSQL2019配MSSM2017,结果是不行的,无奈才重装MSSQL。

SQLCMD

有同学可能不想用MSSM也是可以的,用sqlcmd就行,具体这样;

1
2
docker exec -it mssql "bash"
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '(你的密码)'

附加内容

查看容器输出内容,打log就行

1
docker logs mssql

总而言之

在docker装MSSQL比在实体机装MSSQL好玩得多,烦恼也少。

参考:


  1. https://www.cnblogs.com/du-blog/p/10561787.html

  2. https://hub.docker.com/_/microsoft-mssql-server?tab=description

  3. https://segmentfault.com/a/1190000021517549

CATALOG
  1. 1. 拉取镜像
  2. 2. 运行容器
  3. 3. MSSM
  4. 4. SQLCMD
  5. 5. 附加内容
  6. 6. 总而言之