基于docker的sqlserver访问研究

2017-02-27 14:05孙鑫岩唐凌彦
电脑知识与技术 2016年31期
关键词:容器数据库

孙鑫岩+唐凌彦

摘要:该文首先目前开源技术中非常火的docker技术,然后介绍了sqlserver数据库。接着介绍如何把sqlserver部署到docker容器中,最后通过数据库客户端访问部署在docker容器中的sqlserver服务。

关键词:Docker;容器;数据库

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)31-0001-02

1 Docker介绍

Docker 是dotcloud公司开源的基于LXC的容器引擎技术,采用go语言开发。官方网站是:https://www.docker.com/,对应的官方docker镜像是:http://hub.docker.com/。

Docker容器是完全使用沙箱机制,不同的docker容器之间资源隔离,用户使用docker容器感觉就像使用一个虚拟机,当时docker容器相比虚拟机更轻量级。Docker技术正在是应用软件系统做到一次构建,到处移植和运行,极大地简化了应用软件系统的移植和部署成本,提高和解放了生产力。开发者可以把笔记本上开发、编译测试通过的容器在生产环境中批量部署,不同的应用软件系统通过docker容器封装技术得到相同的移植和部署接口。

Docker体系结构如下图:

我们称安装docker的机器为宿主机,安装后宿主机上docker daemon默认启动,我们通过docker客户端(命令行工具)和docker daemon通信,进行docker容器的拉取、运行、停止、push。

要理解上述操作,我们需要了解Docker的3大组件:

Docker镜像:Docker 容器运行时的只读模板,每一个镜像由一系列的层组成。我们通过Dockerfile来描述和build一个docker镜像。

Docker 仓库:Docker 仓库存放镜像的地方,有公共仓库和私有仓库。公共仓库就是我们上述提到的http://hub.docker.com/,Docker仓库提供了庞大的镜像集合供使用。这些镜像可以是自己创建,或者在别人的镜像基础上创建。

Docker 容器:Docker 容器是Docker镜像的运行时,类似于进程和程序的关系。镜像类似于程序,是一个静态的概念,容器类似于进程,是一个动态的概念。一个Docker容器包含了所有的某个应用运行所需要的环境。Docker 容器可以运行、开始、停止、移动和删除。

2 Sqlserver介绍

SQL Server是微软开发的关系数据库管理系统,目前最新版本是2015年份推出的SQL SERVER 2015。它具有可扩展的、高性能的等优点,兼容SQL92标准,提供了基于事务的企业级信息管理系统方案。

3 安装

3.1 在windows下安装docker

从https://get.daocloud.io/toolbox/下载最新的docker版本:

DockerToolbox-1.12.2.exe,点击安装,安装后在cmd窗口运行docker则表示安装成功,如下:

3.2 下载sqlserver

3.3 准备Docker镜像build环境

1)建立本地目录如:mkdir -p d:\mssql\install,拷贝SQLServer2016-x64-ENU.exe、SQLServer2016-x64-ENU.box、start.bat和configurationfile.ini到该目录。

2)建立注册表文件registry.reg 并拷贝到d:\mssql\install\registrykeys找到注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5\registry并保存为registry.reg。

3)在d:\mssql下面创建dockerfile如下:

5 总结

本文介紹了Docker的架构和基本原理,并介绍了windows下面搭建docker的过程,重点介绍了如何在docker环境下构建一个Sqlserver的镜像,并基于这个镜像如何构建Sqlserver的容器,最后我们连接到sqlserver的容器的服务进行数据库基本的操作。通过这个例子我们可以看到,一旦我们构建好一个应用的镜像,其他人来使用的时候将会非常简单和方便。

猜你喜欢
容器数据库
Different Containers不同的容器
人心像一个容器
难以置信的事情