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

Detaillierte Beschreibung des Anwendungsszenarios für Javascript-Closure

Inhaltsverzeichnis 1. Abschluss 2. Szenarien für ...

Detaillierte Erläuterung der MySQL-Benutzer- und Berechtigungsverwaltung

Dieser Artikel beschreibt anhand von Beispielen d...

So erstellen Sie ein responsives Säulendiagramm mit dem CSS-Rasterlayout

Ich spiele jetzt schon eine Weile mit Diagrammen ...

Zusammenfassung der MySQL-Entwicklungsstandards und -Nutzungskenntnisse

1. Namenskonventionen 1. Datenbanknamen, Tabellen...

Mehrere Möglichkeiten zur manuellen Implementierung von HMR in Webpack

Inhaltsverzeichnis 1. Einleitung 2. GitHub 3. Gru...

So erstellen Sie ein Drag & Drop-Plugin mit benutzerdefinierten Vue-Direktiven

Wir alle kennen die Drag-and-Drop-Funktion von HT...

Beschreibung des Meta-Viewport-Attributs in der HTML-Webseite

Beschreibung der HTML-Meta-Viewport-Attribute Was...

So stellen Sie DoNetCore mit Nginx in der Alibaba Cloud bereit

Grundlegende Umgebungskonfiguration Bitte kaufen ...

Einführung in die Verwendung von Unicode-Zeichen in Webseiten (&#, \u usw.)

Die ersten Computer konnten nur ASCII-Zeichen ver...

Docker-Compose-Tutorial: Installation und Schnellstart

Inhaltsverzeichnis 1. Einführung in Compose 2. Co...

Zusammenfassung der gebräuchlichen Buchstaben in Unicode

Die meisten der ersten Computer konnten nur ASCII...