Grundlegende Anweisungen für Docker: Update-Pakete yum -y aktualisieren Installieren Sie die virtuelle Docker-Maschine (CentOS 7). yum install -y Docker Ausführen, Neustarten und Herunterfahren der virtuellen Docker-Maschine Dienst Docker starten Dienst Docker Stopp Suchspiegel Docker-Suche nach Image-Namen Bild herunterladen Docker-Pull-Image-Name Spiegel anzeigen Docker-Bilder Löschen eines Bildes Docker-RMI-Image-Name Ausführen des Containers Docker Run - Startparameter-Imagename Containerliste anzeigen Docker ps -a Wenn wir die Java-Umgebung verwenden möchten, können wir Folgendes tun: suchen: [root@VM_71_225_centos ~]# Docker-Suche Java INDEX NAME BESCHREIBUNG STERNE OFFIZIELL AUTOMATISIERT docker.io docker.io/node Node.js ist eine JavaScript-basierte Plattform für... 5752 [OK] docker.io docker.io/tomcat Apache Tomcat ist eine Open-Source-Implementierung … 1891 [OK] docker.io docker.io/java Java ist eine gleichzeitige, klassenbasierte und objektbasierte ... 1745 [OK] docker.io docker.io/openjdk OpenJDK ist eine Open-Source-Implementierung ... 1031 [OK] herunterladen: [root@VM_71_225_centos ~]# docker pull docker.io/java Standard-Tag verwenden: latest Es wird versucht, das Repository docker.io/library/java abzurufen ... aktuell: Abrufen von docker.io/library/java 5040bd298390: Herunterladen [=> ] 1,572 MB/51,36 MB laufen: [root@VM_71_225_centos ~]# docker run -it --name myjava docker.io/java bash root@25623e12b759:/# java -i: Führen Sie den Container im interaktiven Modus aus, normalerweise mit -t verwendet; -t: weist dem Container ein Pseudo-Eingabeterminal neu zu, wird normalerweise zusammen mit -i verwendet; Installieren Sie den PXC-Cluster (ich werde hier nicht auf die Vor- und Nachteile des MySQL PXC-Clusters und des Replikationsclusters eingehen und die PXC-Clusterlösung wählen [Backup mit mehreren Knoten und starke Verbindung]): PXC-Image installieren Docker-Pull Percona/Percona-XtraDB-Cluster Lokales Bild anzeigen [root@VM_71_225_centos ~]# Docker-Bilder REPOSITORY TAG BILD ID ERSTELLT GRÖSSE docker.io/hello-world latest e38bc07ac18e vor 2 Monaten 1,85 kB docker.io/percona/percona-xtradb-cluster latest f1439de62087 vor 3 Monaten 413 MB docker.io/java latest d23bdf5b1b1b vor 17 Monaten 643 MB docker.io/percona/percona-xtradb-cluster ist zu lang, benennen Sie es daher um: [root@VM_71_225_centos ~]# Docker-Tag Percona/Percona-Xtradb-Cluster pxc [root@VM_71_225_centos ~]# Docker-Bilder REPOSITORY TAG BILD ID ERSTELLT GRÖSSE docker.io/hello-world latest e38bc07ac18e vor 2 Monaten 1,85 kB docker.io/percona/percona-xtradb-cluster latest f1439de62087 vor 3 Monaten 413 MB pxc latest f1439de62087 vor 3 Monaten 413 MB docker.io/java latest d23bdf5b1b1b vor 17 Monaten 643 MB Erstellen Sie das Netzwerksegment net1: Docker-Netzwerk erstellen --subnet=172.18.0.0/16 net1 Erstellen Sie fünf Datenvolumes (pxc kann nicht direkt auf die Daten des Hostcomputers zugreifen, erstellen Sie daher fünf Docker-Datenvolumes). Docker-Volume erstellen v1 Docker-Volume erstellen v2 Docker-Volume erstellen v3 Docker-Volume erstellen v4 Docker-Volume erstellen v5 Zeigen Sie den Speicherort des Datenträgers an: [root@VM_71_225_centos-Code]# Docker-Inspektion v1 [ { "Treiber": "lokal", "Beschriftungen": {}, "Einhängepunkt": "/var/lib/docker/volumes/v1/_data", "Name": "v1", "Optionen": {}, "Geltungsbereich": "lokal" } ] Erstellen Sie einen PXC-Cluster mit fünf Knoten #Erstellen Sie den ersten MySQL-Knoten 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 Warten Sie 2 Minuten, bevor Sie den zweiten Knoten erstellen. Warten Sie, bis der erste Knoten instanziiert ist, bevor Sie die zweite Knoteninstanz starten, da sie sonst sofort angehalten wird. Zusätzliche Knoten erstellen: #Erstellen Sie den zweiten MySQL-Knoten 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 #Erstellen Sie den dritten MySQL-Knoten 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 #Erstellen Sie den vierten MySQL-Knoten 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 #Erstellen Sie den fünften MySQL-Knoten 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 Testen Sie das Erstellen einer Datenbank auf einem beliebigen MySQL-Knoten: mysql -h 172.18.0.3 -uroot -pabc123456 mysql> Datenbanktest erstellen; Abfrage OK, 1 Zeile betroffen (0,03 Sek.) Melden Sie sich bei anderen Knotendatenbanken an und Sie sehen, dass sie synchronisiert wurden, um einen einfachen MySQL-Cluster zu bilden. Installieren Sie Haproxy für hohe Verfügbarkeit und Lastausgleich Ziehen Sie Haproxy Docker zieht Haproxy Schreiben der Haproxy-Konfigurationsdatei vi /home/soft/haproxy.cfg Die Konfigurationsdateien lauten wie folgt: weltweit #Arbeitsverzeichnis chroot /usr/local/etc/haproxy #Protokolldatei, verwenden Sie das lokale Protokollgerät (/var/log/local5) im rsyslog-Dienst, Ebeneninfo Protokoll 127.0.0.1 local5 info #Daemon-Prozess, der Daemon ausführt Vorgabewerte globales Protokoll Modus http #Protokollformatoption httplog #Zeichnen Sie den Heartbeat-Erkennungsdatensatz des Lastausgleichs nicht in der Protokolloption dontlognull auf #Verbindungstimeout (Millisekunden) Timeout Verbindung 5000 #Client-Timeout (Millisekunden) Timeout-Client 50000 #Server-Timeout (Millisekunden) Timeout-Server 50000 #Überwachungsschnittstelle listen admin_stats #Überwachung der Schnittstellenzugriffs-IP und der Portbindung 0.0.0.0:8888 #Zugriffsprotokollmodus http #URI relative Adresse Statistik URI /dbs #Statistikbericht formatstats realm Global\ statistics #Login-Kontoinformationen Statistiken Auth Admin:abc123456 #Datenbank-Lastausgleich, Proxy-MySQL abhören #Zugriffs-IP und Port-Bind 0.0.0.0:3306 #Netzwerkprotokollmodus TCP #Lastausgleichsalgorithmus (Round-Robin-Algorithmus) # Polling-Algorithmus: Roundrobin #Gewichtsalgorithmus: static-rr # Algorithmus für geringste Verbindung: leastconn #Quell-IP-Algorithmus anfordern: Quelle Rundenturnier #Protokollformatoption tcplog #Erstellen Sie einen Haproxy-Benutzer ohne Berechtigungen in MySQL und legen Sie das Kennwort leer. Haproxy verwendet dieses Konto, um die Heartbeat-Erkennung für die MySQL-Datenbankoption mysql-check user haproxy durchzuführen. Server MySQL_1 172.18.0.2:3306 Gewicht prüfen 1 maxconn 2000 Server MySQL_2 172.18.0.3:3306 Gewicht prüfen 1 maxconn 2000 Server MySQL_3 172.18.0.4:3306 Gewicht prüfen 1 maxconn 2000 Server MySQL_4 172.18.0.5:3306 Gewicht prüfen 1 maxconn 2000 Server MySQL_5 172.18.0.6:3306 Gewicht prüfen 1 maxconn 2000 #Verwenden Sie Keepalive, um tote Links zu erkennen Option tcpka Erstellen Sie den ersten Haproxy-Lastausgleichsserver Kopieren Sie den Code 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 docker exec -it h1 bash haproxy -f /usr/local/etc/haproxy/haproxy.cfg Prüfen Sie, ob der Start erfolgreich war: Besuchen Sie http://ip:4001/dbs Installieren Sie Keepalive, um einen Doppelklick-Hot-Standby zu implementieren Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: So verwenden Sie einen SSH-Tunnel, um eine Verbindung zum MySQL-Server herzustellen
>>: Vue-Ereignisparameter $event = Ereigniswertfall
Detailliertes Beispiel für das Datenbankbetriebso...
Vorwort Solche Spezialeffekte sollte man oft sehe...
Einführung in die dynamische und statische Trennu...
Es gibt eine solche Anforderung: eine Importschal...
CSS-Benennungskonventionen (Regeln) Häufig verwen...
Es gibt einen Tabellenbenutzer und die Felder sin...
[LeetCode] 185. Die drei höchsten Gehälter der Ab...
Vorwort Was ist Datentypkonvertierung? Der Standa...
1. Vorhandene Module anzeigen /usr/local/nginx/sb...
Die Datenintegrität wird in Entitätsintegrität, D...
Manchmal müssen Sie basierend auf der offiziell v...
1. Überprüfen Sie den Zeichensatz 1. Überprüfen S...
calc ist eine Funktion in CSS, die zum Berechnen ...
Inhaltsverzeichnis 0x0 Einführung 0x1 RBAC-Implem...
Es ist mühsam, die db2-Datenbank direkt auf dem H...