docker创建数据库集群

zhengjuqiang 2018-09-08

PXC集群

PXC集群官网 http://hub.docker.com/r/percona/percona-xtradb-cluster

安装PXC集群
docker pull percona/percona-xtradb-cluster
1
更改容器的名字
docker tag docker.io/percona/percona-xtradb-cluster pxc 修改容器的名字
1
创建集群所需网段
docker network create --subnet=172.18.0.0/24 net1 创建net1的网段,ip为172.18.0.0 
docker inspect net1 查看net1网段的信息
docker network rm net1 删除网段
1
2
3
创建集群所需docker卷
docker 数据卷
创建容器中PXC节点映射数据目录的解决办法
docker volume create v1 #创建数据卷
docker inspect v1 #查看数据卷在数簇机真实的位置
docker volume rm v1 #删除docker 卷
1
2
3
4
5
6
创建PXC容器

只需要向PXC镜像传入运行参数就能创建出PXC容器

docker run -d -p 3306: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 #给权限 以及名字 网段
示例:
docker volume create v2
docker volume create v3
docker volume create v4
docker volume create v5
创建mysql集群
docker run -d -p 3306: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
docker run -d -p 3307:3306 -v v2:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e CLUSTER_JOIN=node1 -e XTRABACKUP_PASSWORD=abc123456 --privileged --name=node2 --net=net1 --ip 172.18.0.3 pxc
docker run -d -p 3308:3306 -v v3:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e CLUSTER_JOIN=node1 -e XTRABACKUP_PASSWORD=abc123456 --privileged --name=node3 --net=net1 --ip 172.18.0.4 pxc
docker run -d -p 3309:3306 -v v4:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e CLUSTER_JOIN=node1 -e XTRABACKUP_PASSWORD=abc123456 --privileged --name=node4 --net=net1 --ip 172.18.0.5 pxc
docker run -d -p 3310:3306 -v v5:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e CLUSTER_JOIN=node1 -e XTRABACKUP_PASSWORD=abc123456 --privileged --name=node5 --net=net1 --ip 172.18.0.6 pxc

docker创建数据库集群

相关推荐