在Azure上的Ubuntu Docker运行SQL Server

在Azure上的Ubuntu Docker运行SQL Server

备注:Blog具有时效性, 内容随着更新会发现变化,时间是2017年5月22日

这是非常非常难于想象和相信的事情,前几天我写了SQL Server 运行在Linux上。然后同事告诉我,你顺便搞下SQL 运行在Docker里面啊,我不愿相信还可以运行在Docker之上,于是就开始测试。然后发现SQL Server 不仅可以运行在Linux的Docker 还可以运行在 Windows Server的 container 。并且还可以运行在MAC的Docker,也就是说只要是Docker 引擎1.8+之上,不管你跑在什么系统上,都可以运行。

呃,我只有冷静,冷静想想到底发生了什么…….

只要是Docker满足:

  • Docker Engine 1.8+
  • Minimum of 4 GB of disk space
  • Minimum of 4 GB of RAM

这就可以运行,运行的Image mssql-server-linux container image

下面我们就来体验下这个神奇的事情!

  1. 首先我在Azure之上创建了一台Ubuntu16.04的虚拟机。
    这里写图片描述

  2. 测试需要远程连接数据库,将1430~1433防火墙打开

    这里写图片描述

  3. 在Linux中将Docker部署好,这个过程就不讲了。安装完成 运行 docker命令,有如下界面就证明成功了
    这里写图片描述

  4. 从Docker Hub拿到SQL Server container image,镜像

    docker pull microsoft/mssql-server-linux

    这里写图片描述

  5. 由于镜像有点大,还是花了不少时间,如图有1.382G
    这里写图片描述

  6. 镜像下载完成后,见证奇迹的时刻就要发生了。运行docker run,
    命令中 ‘ACCEPT_EULA=Y’ 是接受授权协议的意思,SA_PASSWORD=p@ssw0rd这是sa的密码,-p 1430:1433,这是使用1430端口。

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

    这里写图片描述

  7. 这样我就创建了4个SQL Server,5秒钟不到的时间。

这里写图片描述
8. 连接试试,使用SSMS连接。分别连接1430,1431,1432,1433端口,四个实例就连接成功了。
这里写图片描述

这里写图片描述

总结

利用Docker方法,可快速实现SQL 部署,这个确实很赞了。可以想象以后进行测试,进行一些应用的部署,只需要敲几行代码,几秒钟就部署完成。这个确实今非昔比啊。具体运行在Docker的SQL有什么用的功能,等正式发布之后,一定会有相应的文档详细介绍。这次测试主要测试如何运行在Docker。还有很多可以玩的东西,很有意思了,以后慢慢的进行测试。

作者简介: Max Shen(阿特) 微软解决方案专家, 系统运维工程师,数据库工程师;IT从业20年经验,最早接触和进行云计算工作的工程师之一,在云计算领域具有丰富的工作经验。熟悉Windows 、SQL Server数据库、虚拟化等技术,拥有多年企业IT运维和数据库运维管理实战经验;熟悉微软云架构、企业云服务解决方案,拥有微软Azure、O365等相关认证。

猜你喜欢

转载自blog.csdn.net/capsicum29/article/details/72667439