1.建立mysql集群
下载pxc镜像
docker pull percona/percona-xtradb-cluster
建立内部网络:出于安全考虑,须要给PXC集群实例建立Docker内部网络
建立命令:docker network create net1
建立指定网段:docker network create --subnet=172.18.0.0/24 net1
查看网络属性:docker network inspect net1
删除网络:docker network rm net1html
建立docker卷(容器中的PXC节点映射数据目录的解决办法)
docker volume create --name v1node
建立PXC容器(只须要像PXC镜像传入运行参数就能建立出PXC容器)
node1节点:
docker run -d -p 3306:3306 \
-v v1:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=数据库密码 \
-e CLUSTER_NAME=PXC \
-e XTRABACKUP_PASSWORD=数据库节点之间同步的密码 \
--privileged --name=node1 --net=net1 --ip=172.18.0.0/24 pxcmysql
node2到node5节点
docker run -d -p 3306:3306 \
-v v1:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=数据库密码 \
-e CLUSTER_NAME=PXC \
-e XTRABACKUP_PASSWORD=数据库节点之间同步的密码 \
-e CLUSTER_JOIN=node1 \
--privileged --name=node# --net=net1 --ip=172.18.0.0/24 pxcsql
2.数据库负载均衡:
下载haproxy镜像
docker pull haproxy
docker images查看镜像
建立Haproxy配置文件
在宿主机上建立:touch /home/soft/haproxy.cfg
配置文件能够参考:https://zhangge.net/5125.htmldocker