创建容器
主要是想通过一个实例来说明docker的最显著的特征:数据隔离,顺便带领大家熟悉一下docker的基本命令用法,揭开其神秘的面纱,让大家也能领略到,当今互联网大数据行业,最火的虚拟化技术,也不过如此,哈哈!
创建mysql5.6容器 1master+2个slave,这里仅展示mysql-slave1的容器创建并启动的方法,另外两个节点,自己敲一下,
需要注意的是,初次初始化mysql容器,必须要初始化一个数据库密码,即MYSQL_ROOT_PASSWORD 所展示的内容,默认密码root.
验证容器状态
通过主机命令行进入master容器
执行:docker exec -it mysql-master bash
在master中创建一个数据库master
在slave1中也创建一个数据库master
通过以上的信息说明master与slave是数据隔离的,
所以我们可以通过docker创建N个mysql容器,
然后就能以很小的代价就能学习《高可用MySQL》中的数据模型 再也不用发愁机器不够用
容器相互访问
登录到slave1容器(如下操作,master容器也是一样操作,安装必要工具)
[root@bogon ~]# docker exec -it mysql-slave1 bash
root@1651d1cab219:/#
查看容器的操作系统环境
uname -a
执行以下vi 命令,发现报异常,vi command not found ,,说明该容器中,尚未安装vi命令
直接执行,apt-get update 更新一下source(需要注意的是,虚拟机必须得保证能访问外网,因为需要在线安装)
等执行完毕,apt 源更新完,执行 apt-get install vim* 执行安装vim操作
执行过程时间将会很长,这取决于个人网速哈,
安装上述vim命令工具之后,紧接着需要安装如下几个工具
apt-get update && apt-get install net-tools
apt-get update && apt-get install iputils-ping
因为需要用到上述工具,安装完的效果图如下:
通过ping slave1的容器ip发现是可以ping通的,所以,我们可以通过docker 容器直接远程连接master的数据库
最后通过slave1的docker连接到master的容器mysql服务器上
master的服务器mysql账号root赋值权限
slave1服务器执行连接master服务器如下命令:
在master上将master数据库删除,看slave1的终端是否也不显示已删除的库
master操作
slave1操作
发现通过slave1容器远程连接的master容器,数据库已经没了
小插曲
在初次建立docker mysql容器实例的时候,中间报了一个如下错误:
不管如何启动mysql-master 或者 mysql-slave 实例,总是出现上述异常,后来,问了一下度娘,终于找到了解决方法,原来是因为doker 的 RPM packages需要升级了, 最后打通了此条探索的道路,甚是不容易哈,解决方法,现共享如下:
yum downgrade docker docker-client docker-common
上述是本节的主要内容,现分享给各位小伙伴们,欢迎各位能提出宝贵的意见或者建议,在成为土豪路上一起成长!
完