Heim  >  Artikel  >  Datenbank  >  Was ist die Methode zum Erstellen eines MySQL-Clusters mit Docker?

Was ist die Methode zum Erstellen eines MySQL-Clusters mit Docker?

WBOY
WBOYnach vorne
2023-05-29 13:55:061495Durchsuche

Grundlegende Docker-Anweisungen:

Softwarepaket aktualisieren

yum -y update

Docker Virtual Machine installieren (Centos 7)

yum install -y docker
# ?? # 🎜🎜#Spiegel löschen

service docker start
service docker stop

Container ausführen

docker search 镜像名称

Containerliste anzeigen

docker pull 镜像名称

Wenn wir die Java-Umgebung verwenden möchten, können wir das tun dies:

docker images
docker rmi 镜像名称
docker run 启动参数 镜像名称

Installieren Sie den pxc-Cluster (ich werde hier nicht die Vor- und Nachteile des MySQL-pxc-Clusters und des Replikationsclusters erläutern. Ich werde die pxc-Clusterlösung [Multi-Node-Backup und stark] wählen Federation]):

PXC-Image installieren

docker ps -a

Lokales Image anzeigen

搜索:
[root@vm_71_225_centos ~]# docker search java
index    name                          description                   stars   official  automated
docker.io  docker.io/node                     node.js is a javascript-based platform for...  5752   [ok]
docker.io  docker.io/tomcat                    apache tomcat is an open source implementa...  1891   [ok]
docker.io  docker.io/java                     java is a concurrent, class-based, and obj...  1745   [ok]
docker.io  docker.io/openjdk                   openjdk is an open-source implementation o...  1031   [ok]

docker.io/percona/percona-xtradb- Cluster ist zu lang, Umbenennen:

下载:
[root@vm_71_225_centos ~]# docker pull docker.io/java
using default tag: latest
trying to pull repository docker.io/library/java ...
latest: pulling from docker.io/library/java
5040bd298390: downloading [=>                         ] 1.572 mb/51.36 mb
Net1-Netzwerksegment erstellen:
运行:
[root@vm_71_225_centos ~]# docker run -it --name myjava docker.io/java bash
root@25623e12b759:/# java


-i: 以交互模式运行容器,通常与 -t 同时使用;


-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

Fünf Datenvolumes erstellen (pxc kann nicht direkt auf die Daten des Host-Computers zugreifen, also erstellen Sie fünf Docker Datenvolumes)

docker pull percona/percona-xtradb-cluster

Standort des Datenvolumens anzeigen:

[root@vm_71_225_centos ~]# docker images
repository                 tag         image id      created       size
docker.io/hello-world           latest       e38bc07ac18e    2 months ago    1.85 kb
docker.io/percona/percona-xtradb-cluster  latest       f1439de62087    3 months ago    413 mb
docker.io/java               latest       d23bdf5b1b1b    17 months ago    643 mb

Erstellen Sie einen 5-Knoten-PXC-Cluster

[root@vm_71_225_centos ~]# docker tag percona/percona-xtradb-cluster pxc
[root@vm_71_225_centos ~]# docker images
repository                 tag         image id      created       size
docker.io/hello-world           latest       e38bc07ac18e    2 months ago    1.85 kb
docker.io/percona/percona-xtradb-cluster  latest       f1439de62087    3 months ago    413 mb
pxc                    latest       f1439de62087    3 months ago    413 mb
docker.io/java               latest       d23bdf5b1b1b    17 months ago    643 mb

Warten Sie 2 Minuten, bevor Sie den erstellen Zweiter Knoten: Warten Sie, bis der erste Knoten instanziiert ist, bevor Sie die zweite Knoteninstanz starten. Andernfalls wird sie sofort gestoppt :

docker network create --subnet=172.18.0.0/16 net1

Melden Sie sich bei anderen Knotendatenbanken an und Sie können sehen, dass sie synchronisiert wurden, um einen einfachen MySQL-Cluster zu bilden

Installieren Sie Haproxy für hohe Verfügbarkeit und Auslastung Balancing# 🎜🎜#

Haproxy ziehen

docker volume create v1
docker volume create v2
docker volume create v3
docker volume create v4
docker volume create v5

Haproxy-Konfigurationsdatei schreiben

[root@vm_71_225_centos code]# docker inspect v1
[
  {
    "driver": "local",
    "labels": {},
    "mountpoint": "/var/lib/docker/volumes/v1/_data",
    "name": "v1",
    "options": {},
    "scope": "local"
  }
]

Die Konfigurationsdatei lautet wie folgt:

#创建第1个mysql节点
docker run -d -p 3306:3306 -e mysql_root_password=abc123456 -e cluster_name=pxc -e xtrabackup_password=abc123456 -v v1:/var/lib/mysql -v backup:/data --privileged --name=node1 --net=net1 --ip 172.18.0.2 pxc
# 🎜🎜#Erstellen Sie den ersten Haproxy-Lastausgleichsserver

Code kopieren Der Code lautet wie folgt:

docker run -it -d -p 4001:8888 -p 4002:3306 -v /home/soft /haproxy:/usr/local/etc/haproxy --name h1 --privileged --net=net1 --ip 172.18.0.7 haproxy

Geben Sie den h1-Container ein und starten Sie haproxy

#创建第2个mysql节点
docker run -d -p 3307:3306 -e mysql_root_password=abc123456 -e cluster_name=pxc -e xtrabackup_password=abc123456 -e cluster_join=node1 -v v2:/var/lib/mysql -v backup:/data --privileged --name=node2 --net=net1 --ip 172.18.0.3 pxc
#创建第3个mysql节点
docker run -d -p 3308:3306 -e mysql_root_password=abc123456 -e cluster_name=pxc -e xtrabackup_password=abc123456 -e cluster_join=node1 -v v3:/var/lib/mysql --privileged --name=node3 --net=net1 --ip 172.18.0.4 pxc
#创建第4个mysql节点
docker run -d -p 3309:3306 -e mysql_root_password=abc123456 -e cluster_name=pxc -e xtrabackup_password=abc123456 -e cluster_join=node1 -v v4:/var/lib/mysql --privileged --name=node4 --net=net1 --ip 172.18.0.5 pxc
#创建第5个mysql节点
docker run -d -p 3310:3306 -e mysql_root_password=abc123456 -e cluster_name=pxc -e xtrabackup_password=abc123456 -e cluster_join=node1 -v v5:/var/lib/mysql -v backup:/data --privileged --name=node5 --net=net1 --ip 172.18.0.6 pxc
# 🎜🎜#Überprüfen Sie, ob der Start erfolgreich ist:

Besuchen Sie http://ip:4001/dbs

#🎜🎜 #

Keepalive installieren, um eine Doppelklick-Hot-Vorbereitung zu erreichen

Das obige ist der detaillierte Inhalt vonWas ist die Methode zum Erstellen eines MySQL-Clusters mit Docker?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen