So konfigurieren Sie Containernetzwerke unter Linux

王林
Freigeben: 2023-07-05 15:33:07
Original
811 Leute haben es durchsucht

So konfigurieren Sie ein Containernetzwerk unter Linux

Im heutigen Cloud-Computing-Zeitalter wird die Containerisierungstechnologie von Entwicklern zunehmend bevorzugt. Als derzeit beliebteste Containerisierungsplattform bietet uns Docker eine praktische und effiziente Methode zur Containerverwaltung. Auch die Netzwerkkonfiguration von Containern ist bei der Bereitstellung von Containeranwendungen besonders wichtig. In diesem Artikel stellen wir vor, wie Sie das Containernetzwerk unter Linux konfigurieren, um die Kommunikation zwischen Containern und die Verbindung mit der Außenwelt zu erleichtern.

1. Verstehen Sie den Netzwerkmodus

Docker bietet eine Vielzahl von Netzwerkmodi zur Auswahl. Wir müssen die geeignete Methode entsprechend den tatsächlichen Anforderungen auswählen.

  1. Bridge (Bridge-Modus): Standardmodus, erstellt ein virtuelles Netzwerk (Bridge) und verbindet jeden Container mit diesem Netzwerk. Container können innerhalb dieses Netzwerks über ihre eigenen IP-Adressen kommunizieren.
  2. Host (Host-Modus): Der Container und der Host teilen sich das Netzwerk, und der Container verwendet direkt die IP-Adresse und die Netzwerkschnittstelle des Hosts.
  3. Overlay (Overlay-Netzwerk): Der in einer Multi-Host-Docker-Umgebung verwendete Netzwerkmodus kann eine hostübergreifende Containerkommunikation erreichen.
  4. MacVlan (MAC VLAN): Der Container ist einer bestimmten Schnittstellen-MAC-Adresse im physischen Netzwerk zugeordnet und erhält direkt eine echte physische Netzwerkadresse.

2. Konfigurieren Sie das Bridge-Modus-Netzwerk

Der Bridge-Modus ist die am häufigsten verwendete Netzwerkkonfigurationsmethode für Docker, die die Kommunikation zwischen Containern realisieren und gleichzeitig vom externen Netzwerk isolieren kann. Im Folgenden finden Sie die Schritte zum Konfigurieren eines Netzwerks im Bridged-Modus.

  1. Netzwerk erstellen
$ docker network create mynetwork
Nach dem Login kopieren
  1. Container starten
$ docker run -d --name mycontainer --network mynetwork nginx
Nach dem Login kopieren
Nach dem Login kopieren

Der obige Befehl startet einen Container namens mycontainer und fügt ihn dem mynetwork-Netzwerk hinzu.

  1. Kommunikation zwischen Containern

Container im selben Netzwerk können über den Containernamen kommunizieren und der Containername kann in die entsprechende IP-Adresse aufgelöst werden.

$ docker exec -it mycontainer1 ping mycontainer2 
Nach dem Login kopieren

Mit diesem Befehl können Sie einen anderen Container aus einem Container heraus anpingen.

3. Konfigurieren Sie das Host-Modus-Netzwerk

Das Host-Modus-Netzwerk ermöglicht es dem Container, die Netzwerkschnittstelle und IP-Adresse des Hosts direkt zu verwenden, sodass der Container und der Host einen Netzwerk-Namespace teilen. Im Folgenden finden Sie die Schritte zum Konfigurieren des Netzwerks im Hostmodus.

  1. Starten Sie den Container
$ docker run -d --name mycontainer --network host nginx
Nach dem Login kopieren

Der obige Befehl startet einen Container namens mycontainer und verwendet ihn direkt im Netzwerk des Hosts.

  1. Container- und Host-Kommunikation

Im Host-Modus verwendet der Container direkt die Netzwerkschnittstelle und IP-Adresse des Hosts, um mit dem Host zu kommunizieren.

$ docker exec -it mycontainer ping localhost 
Nach dem Login kopieren

Der obige Befehl kann die Hostadresse im Container anpingen.

4. Konfigurieren Sie das Overlay-Netzwerk

Das Overlay-Netzwerk wird normalerweise verwendet, um eine hostübergreifende Containerkommunikation in einer Docker-Umgebung mit mehreren Knoten zu erreichen. Hier sind die Schritte zum Konfigurieren eines Overlay-Netzwerks.

  1. Erstellen Sie ein Netzwerk
$ docker network create -d overlay mynetwork
Nach dem Login kopieren
  1. Starten Sie den Container
$ docker service create --name myservice --network mynetwork nginx
Nach dem Login kopieren

Verwenden Sie den obigen Befehl, um den Dienst beim Erstellen zum mynetwork-Netzwerk hinzuzufügen.

  1. Kommunikation zwischen Containern

In einem Overlay-Netzwerk können Dienstnamen für die Kommunikation zwischen Containern verwendet werden.

$ docker exec -it mycontainer1 ping myservice 
Nach dem Login kopieren

Der obige Befehl kann den Dienst im Container anpingen.

5. MAC-VLAN-Netzwerk konfigurieren

Der MAC-VLAN-Netzwerkmodus ordnet den Container der Schnittstellen-MAC-Adresse im physischen Netzwerk zu und kann direkt eine echte physische Netzwerkadresse erhalten. Im Folgenden finden Sie die Schritte zum Konfigurieren eines MAC-VLAN-Netzwerks.

  1. Erstellen Sie ein Netzwerk
$ docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 mynetwork
Nach dem Login kopieren
  1. Starten Sie den Container
$ docker run -d --name mycontainer --network mynetwork nginx
Nach dem Login kopieren
Nach dem Login kopieren

Verwenden Sie den obigen Befehl, um den Container beim Erstellen zum mynetwork-Netzwerk hinzuzufügen.

  1. Container kommuniziert mit dem physischen Netzwerk

Im MAC-VLAN-Netzwerk kann der Container direkt über die Schnittstelle des physischen Netzwerks kommunizieren.

$ docker exec -it mycontainer ping 192.168.1.2 
Nach dem Login kopieren

Der obige Befehl kann die Adresse im physischen Netzwerk im Container anpingen.

Zusammenfassung

Durch die obige Einführung verstehen wir, wie das Containernetzwerk unter Linux konfiguriert wird. Je nach tatsächlichem Bedarf können wir den geeigneten Netzwerkmodus auswählen und ihn gemäß den entsprechenden Schritten konfigurieren. Die Netzwerkkonfiguration ist für die Bereitstellung und den Betrieb von Containeranwendungen sehr wichtig. Ich hoffe, dieser Artikel kann Ihnen hilfreich sein.

Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie Containernetzwerke unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage