创建容器   

主要是想通过一个实例来说明docker的最显著的特征:数据隔离,顺便带领大家熟悉一下docker的基本命令用法,揭开其神秘的面纱,让大家也能领略到,当今互联网大数据行业,最火的虚拟化技术,也不过如此,哈哈!

创建mysql5.6容器 1master+2个slave,这里仅展示mysql-slave1的容器创建并启动的方法,另外两个节点,自己敲一下,

需要注意的是,初次初始化mysql容器,必须要初始化一个数据库密码,即MYSQL_ROOT_PASSWORD 所展示的内容,默认密码root.

docker下数据分析 docker经典实例_数据库

验证容器状态

docker下数据分析 docker经典实例_docker下数据分析_02

通过主机命令行进入master容器

执行:docker exec -it mysql-master bash 

docker下数据分析 docker经典实例_mysql_03

在master中创建一个数据库master 

docker下数据分析 docker经典实例_数据库_04

在slave1中也创建一个数据库master 

docker下数据分析 docker经典实例_docker下数据分析_05

docker下数据分析 docker经典实例_运维_06

通过以上的信息说明master与slave是数据隔离的,
所以我们可以通过docker创建N个mysql容器,
然后就能以很小的代价就能学习《高可用MySQL》中的数据模型 再也不用发愁机器不够用



容器相互访问

登录到slave1容器(如下操作,master容器也是一样操作,安装必要工具)

[root@bogon ~]# docker exec -it mysql-slave1 bash
root@1651d1cab219:/#

查看容器的操作系统环境
uname -a

docker下数据分析 docker经典实例_运维_07

 执行以下vi 命令,发现报异常,vi command not found ,,说明该容器中,尚未安装vi命令

直接执行,apt-get update 更新一下source(需要注意的是,虚拟机必须得保证能访问外网,因为需要在线安装)

docker下数据分析 docker经典实例_mysql_08

等执行完毕,apt 源更新完,执行 apt-get  install vim* 执行安装vim操作

docker下数据分析 docker经典实例_docker下数据分析_09

执行过程时间将会很长,这取决于个人网速哈,

安装上述vim命令工具之后,紧接着需要安装如下几个工具

apt-get update && apt-get install net-tools 

apt-get update && apt-get install iputils-ping 

因为需要用到上述工具,安装完的效果图如下:

docker下数据分析 docker经典实例_docker下数据分析_10

通过ping slave1的容器ip发现是可以ping通的,所以,我们可以通过docker 容器直接远程连接master的数据库

最后通过slave1的docker连接到master的容器mysql服务器上

master的服务器mysql账号root赋值权限

docker下数据分析 docker经典实例_docker下数据分析_11

slave1服务器执行连接master服务器如下命令:

docker下数据分析 docker经典实例_docker下数据分析_12

在master上将master数据库删除,看slave1的终端是否也不显示已删除的库

master操作

docker下数据分析 docker经典实例_运维_13

slave1操作

docker下数据分析 docker经典实例_mysql_14

发现通过slave1容器远程连接的master容器,数据库已经没了



小插曲

    在初次建立docker mysql容器实例的时候,中间报了一个如下错误:

docker下数据分析 docker经典实例_docker下数据分析_15

不管如何启动mysql-master 或者 mysql-slave 实例,总是出现上述异常,后来,问了一下度娘,终于找到了解决方法,原来是因为doker 的 RPM packages需要升级了,   最后打通了此条探索的道路,甚是不容易哈,解决方法,现共享如下:

yum downgrade docker docker-client docker-common

    上述是本节的主要内容,现分享给各位小伙伴们,欢迎各位能提出宝贵的意见或者建议,在成为土豪路上一起成长!