1. 程式人生 > 其它 >docker 中搭建 mysql pxc 叢集

docker 中搭建 mysql pxc 叢集

一、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   容器名