大家熟悉SQL Server可以安装在Windows系统上,我也介绍了SQL Server可以安装在LInux上,那么今天我将给大家介绍SQL Server安装在Docker上成为容器快速运行起来

首先需要创建一台CentOS

docker sqlserver 用户名 docker安装sqlserver2008_docker

指定虚拟机名称,密码,以及资源组

docker sqlserver 用户名 docker安装sqlserver2008_运维_02

大小我选择B2s

docker sqlserver 用户名 docker安装sqlserver2008_SQL_03

配置该虚拟机的参数,存储帐户,虚拟网络,以及子网,该虚拟机的公网IP地址为动态,网络安全组开放22端口

docker sqlserver 用户名 docker安装sqlserver2008_运维_04

新建诊断存储帐户

docker sqlserver 用户名 docker安装sqlserver2008_SQL_05

创建虚拟机

docker sqlserver 用户名 docker安装sqlserver2008_docker_06

为该虚拟机设置一个Azure上的DNS解析名称sqlondocker.eastasia.cloudapp.azure.com

docker sqlserver 用户名 docker安装sqlserver2008_数据库_07

虚拟机创建完成以后,就可以用SSH连接登陆了

docker sqlserver 用户名 docker安装sqlserver2008_运维_08

老规矩,还是先设定Root密码并切换到root登陆

Sudo passwd root

[输入zjunsen密码]

[设置root新密码]

[再次输入设置的root新密码]

su -

[输入root密码]

docker sqlserver 用户名 docker安装sqlserver2008_SQL_09

接下来安装docker

docker sqlserver 用户名 docker安装sqlserver2008_网络_10

安装完成以后,因为是演示,这里我就关闭SEliinux和防火墙

[root@SQLonDocker ~]# vim /etc/selinux/config

docker sqlserver 用户名 docker安装sqlserver2008_数据库_11

[root@SQLonDocker ~]# systemctl stop firewalld

[root@SQLonDocker ~]# systemctl disable firewalld

重启该虚拟机,然后重新登陆,切换到root帐户下,启动docker服务,并查看docker服务运行状态是否正常

docker sqlserver 用户名 docker安装sqlserver2008_数据库_12

OK,一切正常,接下来检查下docker的版本信息docker info或docker version,安装SQL Server on Docker需要具备如下三个条件

Docker引擎需要1.8以上版本;4G以上内存;4G以上可用磁盘空间

docker sqlserver 用户名 docker安装sqlserver2008_数据库_13

接下来搜索dcoker可以获取那些mssql的镜像

docker sqlserver 用户名 docker安装sqlserver2008_网络_14

从docker hub取得SQL Server container imager镜像,因为镜像有点大,所以需要等待一会

docker sqlserver 用户名 docker安装sqlserver2008_SQL_15

下载完成以后可以看到image有1.43G

docker sqlserver 用户名 docker安装sqlserver2008_数据库_16

接下来就是运行第一个docker容器跑SQL Server了

docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=[设置sql server sa密码]' -p [指定虚拟机上的一个端口]:1433 -d microsoft/mssql-server-linux

docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=P@ssw0rd' -p 7001:1433 -d microsoft/mssql-server-linux

docker sqlserver 用户名 docker安装sqlserver2008_网络_17

这样就创建好了第一个容器

docker sqlserver 用户名 docker安装sqlserver2008_数据库_18

那么现在可以通过该虚拟机的7001端口访问到这第一个SQL Server容器了

docker sqlserver 用户名 docker安装sqlserver2008_数据库_19

在Azure添加一条7001的TCP入站端口

docker sqlserver 用户名 docker安装sqlserver2008_网络_20

接下来用SQL Server Management Studio连接访问试试

docker sqlserver 用户名 docker安装sqlserver2008_网络_21

连接上了

docker sqlserver 用户名 docker安装sqlserver2008_数据库_22

既然第一个容器的SQL Server成功了,那么接下来我再创建3个运行SQL的容器

[root@SQLonDocker ~]# docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=P@ssw0rd' -p 11433:1433 -d microsoft/mssql-server-linux

[root@SQLonDocker ~]# docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=P@ssw0rd' -p 21433:1433 -d microsoft/mssql-server-linux

[root@SQLonDocker ~]# docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=P@ssw0rd' -p 31433:1433 -d microsoft/mssql-server-linux

也就几秒的时间,3个新的运行SQL的容器也OK了

docker sqlserver 用户名 docker安装sqlserver2008_运维_23

记得在Azure上对这台虚拟机开放这些入站端口

docker sqlserver 用户名 docker安装sqlserver2008_数据库_24

连接试试看

docker sqlserver 用户名 docker安装sqlserver2008_docker_25

演示完成以后,我就开始清理环境了

停止Stop所有的容器

# docker stop $(docker ps -a -q)

docker sqlserver 用户名 docker安装sqlserver2008_SQL_26

删除remove所有的容器

# docker rm $(docker ps -a -q)

docker sqlserver 用户名 docker安装sqlserver2008_网络_27

最后对mssql-server-linux镜像进行删除

docker sqlserver 用户名 docker安装sqlserver2008_运维_28

Docker上安装运行SQL Server容器就介绍到这了,感觉就是几条命令就可以快速构建出SQL的数据库环境还是很厉害的。