本文使用静态存储卷实现(非存储类),目的是比较简单易入门。
部署mysql5.7集群的请看这篇文章
软件 | 版本 |
---|---|
mysql | 8.0.18 |
xtrabackup | 8.0.9 |
0、制作xtrabackup镜像(该步可跳过,可直接使用作者现成镜像
)
[root@localhost ~]$ vi Dockerfile
FROM paigeeworld/centos7:latest
MAINTAINER jstang <389634070@qq.com>
RUN rpm --rebuilddb && \
yum -y install wget hostname mariadb && \
wget https://downloads.percona.com/downloads/Percona-XtraBackup-LATEST/Percona-XtraBackup-8.0.9/binary/redhat/7/x86_64/percona-xtrabackup-80-8.0.9-1.el7.x86_64.rpm && \
yum -y localinstall percona-xtrabackup-80-8.0.9-1.el7.x86_64.rpm
RUN rm percona-xtrabackup-80-8.0.9-1.el7.x86_64.rpm -rf
EXPOSE 3307
[root@localhost ~]$ docker build -t jstang/xtrabackup:2.3
[root@localhost ~]$ docker login
[root@localhost ~]$ docker push jstang/xtrabackup:2.3
这个是构建镜像和把镜像上传到作者的dockerHub的jstang账户上
1、准备NFS服务,查看NFS服务器IP为192.168.1.11,准备三个持久化磁盘(块)
[root@m-nfs~]# yum install nfs-utils
[root@m-nfs~]# mkdir -p /net/mysql-0 /net/mysql-1 /net/mysql-2
[root@m-nfs~]# ifconfig | head -2| tail -1|awk '{print $2}'
192.168.1.11 # 查看nfs服务器IP
[root@m-nfs~]# echo '/net/mysql-0 *(rw,no_root_squash)' >> /etc/exports
[root@m-nfs~]# echo '/net/mysql-1 *(rw,no_root_squash)' >> /etc/exports
[root@m-nfs~]# echo '/net/mysql-2 *(rw,no_root_squash)' >> /etc/exports
[root@m-nfs~]# systemctl restart nfs-server
[root@m-nfs~]