目录

简介

Docker安装

在Docker中安装sql server

总结


简介

在了解了Docker之后,有段时间一直想用Docker来完成数据库服务的安装,这样只要打开Docker服务后,在电脑上装一个客户端就可以使用数据库了。而且通过数据卷的使用,我们可以把数据库文件(*.mdf和*.ldf)保存到本地的磁盘中。这样就算哪天Docker出现问题,重装后也不怕数据库内容的丢失,同时数据库的更新也很方便,只要更新Docker镜像就可以了。但是一直这么拖着,最近终于开始着手尝试,并记录过程和大家分享。

 

Docker安装

首先是安装docker,我用的win10的系统,所以下载的也是可以在windows上安装的文件。具体地址:https://hub.docker.com/?overlay=onboarding 。需要注册(免费)登录后才可下载。请下载最新的版本安装。(PS:2.0X和2.1X版本的虚拟镜像文件名字不一样,这意味这早期版本的docker下的镜像,在新版本中无法使用。可参看下面给出的docker镜像文件.vhdx位置设置—接下来的第四张图)

安装后有几个问题,我个人觉得还是先解决下比较好。

首先,我觉得需要改变下Docker默认的镜像位置。默认Docker镜像位置是C盘的,也就是说,之后的使用中你拉取的镜像文件都是在C盘。从磁盘大小及故障规避的角度,我都建议把镜像的位置放得其他盘中。

而修改Docker镜像位置,windows系统中需要你先打开Hyper-V服务。这个可以在控制面板-程序-程序和功能-启用或关闭Windows功能 中启用。这里就不详细说明了。然后如下图所示,找到Hyper-V管理器并打开。

 

打开后,右击其子节点,在菜单中选择【Hyper-V设置】,打开如下图的内容。修改虚拟磁盘和虚拟机的路径。(虚拟机的路径应该可以不用修改,但是如果你不想使用第三方的虚拟机,而只是为了学习Linux命令,那么可以考虑修改,找个虚拟机学习下~当然,仅仅是学习)

当设置好后,请根据其实重启计算机。重启后打开Docker客户端,在启动后右击选择【设置(Settings)】,看到如下的内容。

上图是为了使用数据卷,把数据库文件保存到本地磁盘用的。所以你只需要选择一个需要共享的磁盘就要可以了,之后的数据卷也映射到这个磁盘下的文件夹中。

下图是虚拟路径的设置。

 

当然,Docker还有其他的一些设置,这里暂时用不到,就不多说了。

完成了上面的内容后,让我们打开PowerShell(最好是系统管理员身份运行),执行docker info查看Docker的安装情况。

 

在Docker中安装sql server

如果安装成功了,可以考虑通过网址(https://hub.docker.com/_/microsoft-mssql-server)查看最新的sql Docker镜像情况,或者通过docker search sql 命令来查询。

为了直观一点,可以参考下图。(我是用的微软官方提供的镜像)

点击进入后有拉取镜像的命令,可直接复制执行下载。如下图为我下载的镜像。

 

镜像下载完成后,在PowerShell中执行以下命令。

docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Abc!@#123456' -p 1433:1433 -v D:/database/data:/var/opt/mssql/data --restart=always --name mssql2017 -d mcr.microsoft.com/mssql/server:2017-latest

说明:

SA_PASSWORD 是数据库sa登录用的数据库密码,需要注意的是,这个密码必须是微软要求的强密码;

端口是用的默认端口1433;

数据卷设置,我的本地磁盘是放在d盘,后的docker中的位置不变;

--restart=always 如果不需要重启后自启动,只是测试学习,可不用此命令;

以上命令执行完成后,可以通过docker ps 查看当前正在运行的镜像容器。

然后在本地安装SQL Server Management Studio后即可使用,如下所示。

总结

到这里,在docker中使用sql server就安装完成了,也可以正常使用。这也的好处是,可用节约安装sql server的时间(这个时间还不短呢);节约磁盘空间;升级方便,只需要更新镜像即可;数据库文件通过数据卷放到本地磁盘,一定上可防止因docker问题导致的数据丢失。当然,最终还是看你自己的喜好了~~

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐