Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Welche Kommunikationsmethoden gibt es zwischen Containern in Docker?

Welche Kommunikationsmethoden gibt es zwischen Containern in Docker?

WBOY
WBOYOriginal
2022-02-07 10:38:1012899Durchsuche

Kommunikationsmethoden zwischen Containern in Docker: 1. Verwenden Sie die Container-IP für den Zugriff. 2. Verwenden Sie den „IP:Port“ des Hosts. 3. Verwenden Sie den Link, um eine Verbindung für die Kommunikation herzustellen ” für die Kommunikation .

Welche Kommunikationsmethoden gibt es zwischen Containern in Docker?

Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Docker-1.13.1-Version, Dell G3-Computer.

Was sind die Kommunikationsmethoden zwischen Containern in Docker? 1. Zugriff über die Container-IP. Nach dem Neustart des Containers ändert sich die IP. Der Zugriff über die Container-IP ist keine gute Lösung.

2. Zugriff über den IP:Port des Hosts

Beim Zugriff über den IP:Port des Hosts können Sie sich bei eingeschränkter Kommunikation nur darauf verlassen, dass der Prozess den offengelegten Port überwacht.

3. Stellen Sie eine Verbindung über einen Link her (offiziell nicht empfohlen).

Geben Sie beim Ausführen eines Containers den Parameter Link an, damit der Quellcontainer und der verknüpfte Container miteinander kommunizieren können und der akzeptierte Container einige Daten davon erhalten kann Quellcontainer, z. B. :Umgebungsvariablen.

# 源容器:mysql
docker run -itd --name test-mysql -e MYSQL_ROOT_PASSWORD=root mysql:5.7
#被链接容器 centos
docker run -itd --name test-centos --link test-mysql:mysql  centos /bin/bash
#进入test-centos
docker exec -it test-centos /bin/bash

Sie können direkt über den Namen des Links oder den Alias ​​eingeben, den Sie beim Verlinken verwendet haben:

Welche Kommunikationsmethoden gibt es zwischen Containern in Docker?

Container, die über den Link erstellt wurden, der verknüpfte Container kann den Quellcontainer anpingen, aber nicht umgekehrt.

Welche Kommunikationsmethoden gibt es zwischen Containern in Docker?Umgebungsvariablen im verknüpften Container anzeigen

Der verknüpfte Container erbt die Umgebungsvariableninformationen des Quellcontainers.

Welche Kommunikationsmethoden gibt es zwischen Containern in Docker?Im Gegensatz zu Host-Einträgen in /etc/hosts wird die in der Umgebungsvariablen gespeicherte IP-Adresse nicht automatisch aktualisiert, wenn der Quellcontainer neu gestartet wird. Wir empfehlen, den Host-Eintrag in /etc/hosts zu verwenden, um die IP-Adresse des verknüpften Containers aufzulösen.

Zusätzlich zu den Umgebungsvariablen fügt Docker auch den Host-Eintrag des Quellcontainers zur Datei /etc/hosts hinzu.

Wenn der Quellcontainer neu gestartet wird, wird die Datei /etc/hosts im Linkcontainer automatisch mit der neuen IP-Adresse des Quellcontainers aktualisiert, sodass die Linkkommunikation fortgesetzt werden kann.

Welche Kommunikationsmethoden gibt es zwischen Containern in Docker?4. Erstellen Sie ein Bridge-Netzwerk über benutzerdefinierte Netzwerke (empfohlen)

Docker-Netzwerk, weisen Sie den Container beim Ausführen von Docker dem neu erstellten Bridge-Netzwerk zu, damit Container im selben Bridge-Netzwerk über einander zugreifen können.

Erstellen Sie ein Netzwerk

docker network create test-network

Wenn Sie einen Container starten, treten Sie dem erstellten Netzwerk bei

docker run -it --network test-network --network-alias mysql  -e MYSQL_ROOT_PASSWORD=123 mysql:5.7

Starten Sie den verknüpften Container

 docker run -it --network test-network --network-alias centos  centos /bin/bash

Empfohlenes Lernen: „

Docker-Video-TutorialWelche Kommunikationsmethoden gibt es zwischen Containern in Docker?

Das obige ist der detaillierte Inhalt vonWelche Kommunikationsmethoden gibt es zwischen Containern in Docker?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn