一、pxc镜像url:https://hub.docker.com/r/percona/percona-xtradb-cluster/
二、安装及重命名:
1、安装:docker pull percona/percona-xtradb-cluster
2、重命名:docker tag docker.io/percona/percona-xtradb-cluster pxc
三、创建、查看、删除内部网络
1、创建:docker network create --subnet=172.18.0.0/24 net1
2、查看:docker network inspect net1
3、删除:docker network rm net1
四、Docker卷(容器中的pxc节点映射数据目录的解决方法)
1、创建:docker volume create --name v1
2、查看:docker volume inspect v1
3、删除:docker volume rm v1
五、创建pxc容器:
1、创建node1(第一个容器的mysql初始化需要一段时间,需要等这个容器的mysql初始化成功并能用datagrip或其他mysql可视化工具连接后才能进行之后容器的创建):
docker run -d -p 3307:3306 -v v1:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 --privileged --name=node1 --net=net1 --ip 172.18.0.2 pxc;
2、创建node2(需要先创建v2卷):docker volume create v2):
docker run -d -p 3308:3306 -v v2:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -e CLUSTER_JOIN=node1 --privileged --name=node2 --net=net1 --ip 172.18.0.3 pxc;
3、创建node3(需要先创建v3卷):docker volume create v3):
docker run -d -p 3309:3306 -v v3:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -e CLUSTER_JOIN=node1 --privileged --name=node3 --net=net1 --ip 172.18.0.4 pxc;
4、创建node4(需要先创建v4卷):docker volume create v4):
docker run -d -p 3310:3306 -v v4:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -e CLUSTER_JOIN=node1 --privileged --name=node4 --net=net1 --ip 172.18.0.5 pxc;
5、创建node5(需要先创建v5卷):docker volume create v5):
docker run -d -p 3311:3306 -v v5:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -e CLUSTER_JOIN=node1 --privileged --name=node5 --net=net1 --ip 172.18.0.6 pxc;
ps:使用virtualbox进行端口转发子系统ip要设置为0.0.0.0
六、pxc出现闪退需要删除容器和卷轴,然后在创建