基于Dockerfile部署mysql主从复制,rabbitmq一主两从和Redis一主两从哨兵集群

实验环境:
三台机器

主机名 IP 容器IP
server1 10.8.161.76 172.15.0.2
server2 10.8.161.112 172.16.0.2
server3 10.8.161.114 172.17.0.2

实验过程:

一、进行异主容器互联

三台机器均进行:
关闭防火墙和selinux并开机自动关闭;

[root@server1 ~]# yum -y install docker
[root@server1 ~]# systemctl start docker
[root@server1 ~]#docker pull daocloud.io/library/centos
[root@server1 ~]# echo 'DOCKER_NETWORK_OPTIONS=--bip=172.15.0.1/16' > /etc/sysconfig/docker-network    //注意IP地址
[root@server1 ~]# echo 'net.ipv4.ip_forward=1'> /etc/sysctl.conf
[root@server1 ~]# systemctl daemon-reload 
[root@server1 ~]# systemctl restart docker
[root@server1 ~]# route add -net 172.16.0.0/16 gw 10.8.161.112
[root@server1 ~]# route add -net 172.17.0.0/16 gw 10.8.161.114    //另外两台注意IP地址

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、部署MySQL一主一从主从复制集群

Server1:

[root@server1 ~]# mkdir mysql
[root@server1 ~]# cd mysql
[root@server1 mysql]# vim Dockerfile
FROM daocloud.io/library/centos 
RUN yum -y install wget yum-utils \
    && wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm \
    && rpm -ivh mysql80-community-release-el7-3.noarch.rpm \
    && yum-config-manager --enable mysql57-community \
    && yum-config-manager --disable mysql80-community \
    && yum install -y mysql-community-server
EXPOSE 3306
[root@server1 mysql]# docker save -o mysql.tar mysql:latest
[root@server2 ~]# mkdir mysql
[root@server1 mysql]# scp mysql.tar 10.8.161.112:/root/mysql/
[root@server1 mysql]# docker run -it --privileged=true --name mysqlmaster mysql:latest /usr/sbin/init
[root@server1 mysql]# docker exec -it mysqlmaster /bin/bash
[root@1f8ba8981469 /]# systemctl start mysqld 
[root@1f8ba8981469 /]# echo 'log-bin=/var/log/mysql/mysql-bin' >> /etc/my.cnf
[root@1f8ba8981469 /]# echo 'server-id=1' >> /etc/my.cnf
[root@1f8ba8981469 /]# mkdir /var/log/mysql
[root@1f8ba8981469 /]# chown mysql.mysql /var/log/mysql
[root@1f8ba8981469 /]# id mysql                                      
uid=27(mysql) gid=27(mysql) groups=27(mysql)
[root@1f8ba8981469 /]# systemctl restart mysqld
[root@136612e4fd21 /]# grep pass /var/log/mysqld.log
2021-03-15T11:51:25.486583Z 1 [Note] A temporary password is generated for root@localhost: zY&UZ%h;i5e0
2021-03-15T12:22:51.869390Z 0 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值