Detaillierte Erläuterung des Implementierungsprozesses des Docker-Cross-Host-Container-Kommunikations-Overlays

Detaillierte Erläuterung des Implementierungsprozesses des Docker-Cross-Host-Container-Kommunikations-Overlays

Es gibt auch zwei Server:

Vorbereitung:

Legen Sie den Hostnamen des Containers fest

Konsul: Speicherdatenbank vom Typ KV (Schlüssel:Wert)
Auf Docker01 und 02:
vim /etc/docker/daemon.json
{
 "hosts":["tcp://0.0.0.0:2376","unix:///var/run/docker.sock"], wenn diese Zeile geändert wird, müssen Sie Ihre Docker-Konfigurationsdatei "cluster-store": "consul://10.0.0.11:8500" ändern,
 "cluster-advertise": "10.0.0.11:2376" Sie können Ihre eigene IP-Adresse auf der anderen Maschine schreiben.
vim /etc/docker/daemon.json
vim /usr/lib/systemd/system/docker.service
Ändern Sie die Zeile ExecStart=/usr/bin/dockerd --containerd=/run/containerd/containerd.sock in diese Zeile. Sie müssen systemctl daemon-reload auf beiden Maschinen ändern.
systemctl Neustart Docker

Auf docker01:

docker run -d -p 8500:8500 -h consul --name consul progrium/consul -server -bootstrap Dieser Befehl wird ausgeführt, nachdem der Hostname des Containers festgelegt wurde [root@docker1 centos_zabbix]# docker images
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
10.0.0.11:5000/kode v2 6914fda5fd44 vor 4 Stunden 502 MB
Code v2 6914fda5fd44 vor 4 Stunden 502 MB
10.0.0.11:5000/centos6.9_nginx_ssh v3 92b1087df3f5 vor 13 Stunden 431 MB
centos6.9_nginx_ssh v3 92b1087df3f5 vor 13 Stunden 431 MB
centos6.9_nginx_ssh v2 6307e23ee16d vor 13 Stunden 431 MB
<keine> <keine> b94c822488f9 vor 13 Stunden 431 MB
centos6.9_nginx_ssh v1 f01eeebf918a vor 13 Stunden 431 MB
<keine> <keine> 54167f1d659b vor 13 Stunden 431 MB
<keine> <keine> 71474e616504 vor 13 Stunden 430 MB
centos6.9_ssh v2 03387f99f022 vor 14 Stunden 307 MB
<keine> <keine> 82d0e9ce844b vor 14 Stunden 195 MB
Code v1 c0f486ac58fe vor 15 Stunden 536 MB
progrium/consul latest 09ea64205e55 vor 4 Jahren 69,4 MB Hier ist [root@docker1 centos_zabbix]# docker ps -a
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
1016753ee64d progrium/consul "/bin/start -server …" vor 4 Minuten Beendet (255) vor 3 Minuten 53/tcp, 53/udp, 8300-8302/tcp, 8400/tcp, 8301-8302/udp, 0.0.0.0:8500->8500/tcp consul

Zuletzt besucht auf der Seite:

2) Erstellen Sie ein Overlay-Netzwerk

Docker-Netzwerk erstellen -d Overlay --Subnetz 172.16.1.0/24 --Gateway 172.16.1.254 ol1 Dieses Netzwerksegment kann nicht mit dem Hostcomputer identisch sein, und Sie können diesen Befehl auf jedem Computer ausführen.

Überprüfen Sie das Netzwerk des Containers, um zu sehen, ob ein Overlay angezeigt wird.

[root@docker1 shell]# Docker-Netzwerk ls
NETZWERK-ID-NAME TREIBER-UMFANG
e480a4fe5f4b Brücke Brücke lokal
0a3cbfe2473f Host Host lokal
4e5ccdc657e1 macvlan_1 macvlan lokal
aab77f02a0b1 keine null lokal
8ae111afded7 ol1 globales Overlay

3) Containertest starten

Auf einer Maschine:
docker run -it --network ol1 --name test01 centos6.9_ssh:v2 /bin/bash
Auf einem anderen Computer:
docker run -it --network ol1 --name test02 centos6.9_ssh:v2 /bin/bash
 
Danach können Sie eine Verbindung zwischen test01 und test02 herstellen

Danach können Sie eine Verbindung zwischen test01 und test02 herstellen

Wirkliches Prinzip:

Jeder Container verfügt über zwei Netzwerkkarten, eth0 für die Kommunikation zwischen Containern und eth1 für den Containerzugriff auf das externe Netzwerk

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:
  • Hostübergreifende Kommunikation zwischen Docker-Containern - Overlay-basierte Implementierungsmethode
  • Docker-Reinigungskiller/Docker-Overlay-Datei nimmt zu viel Speicherplatz ein
  • Implementierung eines Docker-Cross-Host-Netzwerks (Overlay)
  • So erstellen Sie ein Docker-Overlay-Netzwerk
  • Docker-Overlay realisiert die Container-Kommunikation zwischen Hosts

<<:  Vue2.x konfiguriert Routing-Navigations-Guards, um die Benutzeranmeldung und -beendigung zu implementieren.

>>:  MySQL 8.0.19 unterstützt die Sperrung eines Kontos nach dreimaliger Eingabe eines falschen Passworts (Beispiel)

Artikel empfehlen

Implementierung des Pushens von Docker-Images zum Docker Hub

Nachdem das Image erfolgreich erstellt wurde, kan...

Gängige Stile von CSS-Animationseffekten

Animation Definieren Sie eine Animation: /*Legen ...

So löschen Sie die Hintergrundfarbe des A-Tags, wenn in H5 darauf geklickt wird

1. Die blaue Farbe des Tags wird aufgehoben, wenn...

Detaillierte Erklärung der neuen Funktion ROLE in MySQL 8

Welche Probleme löst MySQL ROLE? Wenn Sie ein DBA...

Detaillierte Erklärung der Verwendung des Linux-Befehls „tee“

Der Befehl tee wird hauptsächlich verwendet, um d...

Umfassende Analyse des MySql-Master-Slave-Replikationsmechanismus

Inhaltsverzeichnis Master-Slave-Replikationsmecha...

Einführung in die Nginx-Protokollverwaltung

Nginx-Protokollbeschreibung Über Zugriffsprotokol...