首页 > 技术文章 > Docker容器案例:应用 Mysql

zengkefu 2016-07-13 15:16 原文

 

 

前阶段体验 Mysql 的新版本 5.7.13,由于机器里已经有 Mysql了,再安装另一个版本会有一些麻烦,为了简单,便使用 Docker 容器来安装

 

可能有人会认为没必要,在一台机器安装多个 Mysql 也没那么复杂,的确,单纯实现这个需求的话没问题,但其实这是一个普遍性的需求

 

例如 JDK 出新版本了、Redis 出新版本了、听说一个新的东西不错…… 都需要体验一下,机器数量有限,如果都安装到一台机器中的话,有很大概率会出现莫名其妙的问题,非常难维护

 

使用虚拟机可以解决这类问题,但是虚拟机很重,安装费时,系统资源占用非常多

 

Docker 容器就是非常好的选择,可以像虚机那样完全和宿主机隔离,而且安装启动非常快,资源占用少,一台机器中可以运行多个容器

 

例如,服务器中已经安装了 Redis 2.8 和 Mysql 5.6,现在想测试一下各自的新版本,就可以在Docker容器中安装,他们各自独立,不会互相影响

 

 

 

下面看一下在 Docker 中安装和使用 Mysql 的方式,为了便于理解,会类比虚机的概念

 

注:介绍的是整体思路,不是详细的安装步骤

 

(1)安装 Docker 环境

 

在 Windows、Linux、Mac 下都有相应的安装程序

 

 

 

就像在自己的机器中安装 VirtualBox 

 

(2)获取一个镜像

 

例如从镜像仓库获取一个 Ubuntu 的镜像

 

docker pull ubuntu

 

 

 

就像在 VirtualBox 中安装了一个 ubuntu linux 系统

 

(3)启动容器

 

可以理解为在 VirtualBox 中把 ubuntu 运行起来

 

为了便于后面在主机中连接容器内的 Mysql,启动容器时可以指定映射端口,例如主机的 3307端口映射到容器内的3306端口

 

 

 

容器启动后,就可以进入 ubuntu 的 shell,进行正常操作,例如

 

[root@8f6f3cad2 /]# 

 

(4)把Mysql安装包拷贝到容器中

 

在主机中下载好 Mysql 5.7.13 的安装包,然后通过 Docker 的拷贝命令将其放到容器内部

 

 

 

(5)在容器中安装运行 Mysql

 

在 ubuntu shell 下正常执行 Mysql 的安装操作,安装完成后,运行 Mysql

 

然后添加一个可以远程访问的用户,例如 test,密码 111111

 

(6)在主机中连接 Mysql

 

在主机中使用 Mysql 的客户端进行连接,连接信息:

 

Host - 分配给Docker的IP(可通过 Docker命令获得)

Username - test

Password - 111111

Port - 3307

 

 

这样,一个完全独立的 Mysql 就安装完了,这只是 Docker 的一个简单应用场景,Docker 非常实用,现在的应用范围已经相当广泛,以后会介绍更多的用法和案例

推荐阅读