docker 中搭建 mysql pxc 叢集
阿新 • • 發佈:2021-06-10
一、docker中建立pxc 容器
1.拉取PXC 映象 pull docker pull percona/percona-xtradb-cluster:5.7.21 2.更改映象名稱為pxc tag docker tag percona/percona-xtradb-cluster:5.7.21 pxc 3.刪除舊名稱的映象 rmi docker rmi percona/percona-xtradb-cluster:5.7.21e
二、容器內部建立網段
1.建立容器內部網段 通過對映方式事項外部訪問 network create
docker network create net1 2.檢視網段的資訊inspect
docker network inspect net1
3.刪除網段資訊
docker network rm net1
4.自定義建立網段 引數--subnet
docker network create --subnet=172.18.0.0.1/24 net1
三、建立docker 卷
1.建立docker 資料卷
docker volume create --name v1
2.檢視資料卷位置
docker inspect v1
4.建立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 --ip172.18.0.2 pxc
引數解釋: docker run -d (啟動容器在後臺執行) -p 3306:3306 (斷後對映前面為宿主機埠,後為容器埠) -v v1:var/lib/mysql (路徑對映卷) -e MYSQL_ROOT_PASSWORD=abc123456 (資料庫ROOT 使用者密碼) -e CLUSTER_NAME=PXC (容器名稱) -e XTRABACKUP_PASSWORD=abc123456 (資料同步密碼) --privileged (最高許可權) --name=node1 (容器節點名稱) --net=net1 (容器內部網段) --ip172.18.0.2 (內部網段對應的ip)
pxc 容器名
4.1建立PXC 第二個容器
docker run -d -p 3307:3306 -v v2:var/lib/mysql -e CLUSTER_JOIN=node1 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 --privileged --name=node2 --net=net1 --ip172.18.0.3 pxc 引數解釋: docker run -d (啟動容器在後臺執行) -p 3307:3306 (宿主機埠需要錯開,後為容器埠) -v v2:var/lib/mysql (路徑對映卷) -e MYSQL_ROOT_PASSWORD=abc123456 (資料庫ROOT 使用者密碼) -e CLUSTER_JOIN=node1 加入叢集 和第一個容器節點資料庫同步 -e CLUSTER_NAME=PXC (容器名稱) -e XTRABACKUP_PASSWORD=abc123456 (資料同步密碼) --privileged (最高許可權) --name=node2 (容器節點名稱) --net=net1 (容器內部網段) --ip172.18.0.3 (內部網段對應的ip 需要錯開) pxc 容器名
4.2建立PXC 第三個容器
docker run -d -p 3308:3306 -v v3:var/lib/mysql -e CLUSTER_JOIN=node1 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 --privileged --name=node3 --net=net1 --ip172.18.0.4 pxc 引數解釋: docker run -d (啟動容器在後臺執行) -p 3308:3306 (宿主機埠需要錯開,後為容器埠) -v v3:var/lib/mysql (路徑對映卷) -e MYSQL_ROOT_PASSWORD=abc123456 (資料庫ROOT 使用者密碼) -e CLUSTER_JOIN=node1 加入叢集 和第一個容器節點資料庫同步 -e CLUSTER_NAME=PXC (容器名稱) -e XTRABACKUP_PASSWORD=abc123456 (資料同步密碼) --privileged (最高許可權) --name=node3 (容器節點名稱) --net=net1 (容器內部網段) --ip172.18.0.4 (內部網段對應的ip 需要錯開) pxc 容器名