Inhaltsverzeichnis
Implementierungsprinzip
Vier Arten von Netzwerkmodi
Host-Modus
Container-Modus
Kein-Modus
Bridge-Modus
Heim Betrieb und Instandhaltung Docker Was sind die vier Netzwerkmodi von Docker?

Was sind die vier Netzwerkmodi von Docker?

Nov 25, 2021 pm 05:30 PM
docker

Die vier Netzwerkmodi von Docker sind: 1. Host-Modus, angegeben mit „–net=host“; 2. Container-Modus, angegeben mit „–net=container:NAME_or_ID“; 3. Keiner-Modus, angegeben mit „–net=none“. " angegeben; 4. Bridge-Modus.

Was sind die vier Netzwerkmodi von Docker?

Die Betriebsumgebung dieses Tutorials: Linux5.9.8-System, Docker-1.13.1-Version, Dell G3-Computer.

Implementierungsprinzip

Docker nutzt Linux-Bridging (siehe „Linux Virtual Network Technology“), um eine Docker-Container-Brücke (docker0) auf dem Host zu virtualisieren. Wenn Docker einen Container startet, wird dieser dem Container entsprechend dem Netzwerk zugewiesen Segment der Docker-Bridge. Die IP-Adresse, Container-IP genannt, und die Docker-Bridge sind die Standard-Gateways für jeden Container. Da alle Container auf demselben Host mit derselben Netzwerkbrücke verbunden sind, können Container direkt über die Container-IP des Containers kommunizieren.

Die Docker-Bridge wird vom Host virtualisiert und ist kein echtes Netzwerkgerät. Sie kann vom externen Netzwerk nicht angesprochen werden, was auch bedeutet, dass das externe Netzwerk nicht über direkte Container-IP auf den Container zugreifen kann. Wenn der Container von außen zugänglich sein soll, können Sie den Container-Port dem Host zuordnen (Port-Mapping), d. h. ihn über den Parameter -p oder -P aktivieren, wenn Docker Run den Container erstellt, und [Host-IP verwenden ] beim Zugriff auf den Container: [Container-Port] Greifen Sie auf den Container zu.

Vier Arten von Netzwerkmodi

Docker-Netzwerkmodus Konfiguration Anweisungen
Hostmodus –net=host Der Container und der Host teilen sich den Netzwerk-Namespace.
Containermodus –net=container:NAME_or_ID Der Container teilt den Netzwerk-Namespace mit einem anderen Container. Ein Pod in Kubernetes ist ein Netzwerk-Namespace, der von mehreren Containern gemeinsam genutzt wird.
Keine-Modus –net=none Der Container verfügt über einen unabhängigen Netzwerk-Namespace, es werden jedoch keine Netzwerkeinstellungen dafür vorgenommen, wie z. B. die Zuweisung von Veth-Paaren und Bridge-Verbindungen, die Konfiguration von IP usw.
Bridge-Modus –net=bridge (Standard ist dieser Modus)

Host-Modus

Wenn Sie beim Starten eines Containers den Host-Modus verwenden, erhält der Container keinen unabhängigen Netzwerk-Namespace, sondern teilt sich einen Netzwerk-Namespace mit dem Host. Der Container virtualisiert nicht seine eigene Netzwerkkarte, konfiguriert seine eigene IP usw., sondern verwendet die IP und den Port des Hosts. Andere Aspekte des Containers, wie das Dateisystem, die Prozessliste usw., sind jedoch immer noch vom Host isoliert.

Container, die den Host-Modus verwenden, können direkt die IP-Adresse des Hosts verwenden, um mit der Außenwelt zu kommunizieren. Der Service-Port innerhalb des Containers kann auch den Port des Hosts ohne NAT verwenden besser, aber Docker-Host-Ports, die bereits verwendet wurden, können nicht erneut verwendet werden und die Isolierung des Netzwerks ist nicht gut.

Der Host-Modus ist in der folgenden Abbildung dargestellt:

Was sind die vier Netzwerkmodi von Docker?

Container-Modus

Dieser Modus gibt an, dass der neu erstellte Container einen Netzwerk-Namespace mit einem vorhandenen Container teilt, anstatt ihn mit dem Host zu teilen. Der neu erstellte Container erstellt keine eigene Netzwerkkarte und konfiguriert keine eigene IP, sondern teilt die IP, den Portbereich usw. mit einem angegebenen Container. Abgesehen vom Netzwerk sind die beiden Container auch in anderen Aspekten wie Dateisystemen, Prozesslisten usw. isoliert. Die Prozesse der beiden Container können über das lo-Netzwerkkartengerät kommunizieren.

Container-Modus-Diagramm:

Was sind die vier Netzwerkmodi von Docker?

Kein-Modus

Im Kein-Modus verfügt der Docker-Container über einen eigenen Netzwerk-Namespace, es wird jedoch keine Netzwerkkonfiguration für den Docker-Container durchgeführt. Mit anderen Worten: Dieser Docker-Container verfügt nicht über Netzwerkkarten-, IP-, Routing- und andere Informationen. Wir müssen selbst Netzwerkkarten hinzufügen, IP konfigurieren usw. zum Docker-Container.

In diesem Netzwerkmodus verfügt der Container nur über das Lo-Loopback-Netzwerk und keine anderen Netzwerkkarten. Der None-Modus kann beim Erstellen des Containers über --network=none angegeben werden. Diese Art von Netzwerk kann nicht mit dem Internet verbunden werden. Ein geschlossenes Netzwerk kann die Sicherheit des Containers gewährleisten.

Kein-Modus-Diagramm:

Was sind die vier Netzwerkmodi von Docker?

Bridge-Modus

Wenn der Docker-Prozess startet, wird auf dem Host eine virtuelle Bridge mit dem Namen docker0 erstellt und der auf diesem Host gestartete Docker-Container stellt eine Verbindung zu diesem virtuellen Netzwerk her die Brücke. Eine virtuelle Bridge funktioniert ähnlich wie ein physischer Switch, sodass alle Container auf dem Host über den Switch mit einem Layer-2-Netzwerk verbunden sind.

Weisen Sie dem Container eine IP aus dem Docker0-Subnetz zu und legen Sie die Docker0-IP-Adresse als Standard-Gateway des Containers fest. Erstellen Sie ein Paar virtueller Netzwerkkarten-Veth-Paar-Geräte auf dem Host. Docker platziert ein Ende des Veth-Paar-Geräts im neu erstellten Container und nennt es eth0 (die Netzwerkkarte des Containers) und das andere Ende im Host mit einem ähnlichen Namen wie vethxxx. Benennen Sie dieses Netzwerkgerät und fügen Sie es zur Docker0-Brücke hinzu. Sie können es mit dem Befehl brctl show anzeigen.

Der Bridge-Modus ist der Standard-Netzwerkmodus von Docker. Wenn Sie den Parameter --net nicht schreiben, handelt es sich um den Bridge-Modus. Bei Verwendung von docker run -p erstellt Docker tatsächlich DNAT-Regeln in iptables, um die Portweiterleitungsfunktion zu implementieren. Sie können iptables -t nat -vnL zum Anzeigen verwenden. Der

Bridge-Modus ist im Bild unten dargestellt:

Was sind die vier Netzwerkmodi von Docker?

Empfohlenes Lernen: „Docker-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas sind die vier Netzwerkmodi von Docker?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So erstellen Sie einen Spiegel in Docker So erstellen Sie einen Spiegel in Docker Apr 15, 2025 am 11:27 AM

Schritte zum Erstellen eines Docker -Images: Schreiben Sie eine Dockerfile, die die Build -Anweisungen enthält. Erstellen Sie das Bild im Terminal mit dem Befehl Docker Build. Markieren Sie das Bild und weisen Sie Namen und Tags mit dem Befehl Docker Tag zu.

So verwenden Sie Docker Desktop So verwenden Sie Docker Desktop Apr 15, 2025 am 11:45 AM

Wie benutze ich Docker Desktop? Docker Desktop ist ein Werkzeug zum Ausführen von Docker -Containern auf lokalen Maschinen. Zu den zu verwendenden Schritten gehören: 1.. Docker Desktop installieren; 2. Start Docker Desktop; 3.. Erstellen Sie das Docker -Bild (mit Dockerfile); 4. Build Docker Image (mit Docker Build); 5. Docker -Container ausführen (mit Docker Run).

So aktualisieren Sie das Bild von Docker So aktualisieren Sie das Bild von Docker Apr 15, 2025 pm 12:03 PM

Die Schritte zur Aktualisierung eines Docker -Images sind wie folgt: Ziehen Sie das neueste Bild -Tag. Neues Bild Löschen Sie das alte Bild für ein bestimmtes Tag (optional) den Container neu (falls erforderlich) neu starten Sie neu (falls erforderlich).

So speichern Sie das Docker -Bild So speichern Sie das Docker -Bild Apr 15, 2025 am 11:54 AM

Um das Bild in Docker zu speichern, können Sie den Befehl docker comit verwenden, um ein neues Bild zu erstellen, das den aktuellen Status des angegebenen Containers Syntax: Docker Commit [Optionen] Container -ID -Bildname enthält. Um das Bild im Repository zu speichern, können Sie den Befehl Docker Push, Syntax: Docker -Push -Bildname [: Tag] verwenden. Um gespeicherte Bilder zu importieren, können Sie den Befehl Docker Pull, Syntax: Docker Pull Bildname [: Tag] verwenden.

So verlassen Sie den Container mit Docker So verlassen Sie den Container mit Docker Apr 15, 2025 pm 12:15 PM

Vier Möglichkeiten zum Beenden von Docker Container: Verwenden Sie Strg D im Befehl Container Terminal ENGEBOT IM Container Terminal verwenden Sie Docker Stop & lt; container_name & gt; Befehl verwenden Sie Docker Kill & lt; container_name & gt; Befehl im Host -Terminal (Force Exit)

So kopieren Sie Dateien in Docker nach außen So kopieren Sie Dateien in Docker nach außen Apr 15, 2025 pm 12:12 PM

Methoden zum Kopieren von Dateien in externen Hosts in Docker: Verwenden Sie den Befehl Docker CP: Docker CP [Optionen] & lt; Containerpfad & gt; & lt; Host -Pfad & gt;. Verwenden von Datenvolumina: Erstellen Sie ein Verzeichnis auf dem Host und verwenden Sie den Parameter -V, um das Verzeichnis in den Container zu montieren, um den Container zu erstellen, um eine bidirektionale Dateisynchronisation zu erreichen.

So überprüfen Sie den Namen des Docker -Containers So überprüfen Sie den Namen des Docker -Containers Apr 15, 2025 pm 12:21 PM

Sie können den Namen des Docker -Containers abfragen, indem Sie den Schritten folgen: Alle Container auflisten (Docker PS). Filtern Sie die Containerliste (unter Verwendung des GREP -Befehls). Ruft den Containernamen ab (befindet sich in der Spalte "Namen").

Was tun, wenn das Docker -Bild fehlschlägt? Was tun, wenn das Docker -Bild fehlschlägt? Apr 15, 2025 am 11:21 AM

Fehlerbehebung Schritte für fehlgeschlagene Docker -Bild Build: Überprüfen Sie die Dockerfile -Syntax und die Abhängigkeitsversion. Überprüfen Sie, ob der Build -Kontext den erforderlichen Quellcode und die erforderlichen Abhängigkeiten enthält. Sehen Sie sich das Build -Protokoll für Fehlerdetails an. Verwenden Sie die Option -Target -Option, um eine hierarchische Phase zu erstellen, um Fehlerpunkte zu identifizieren. Verwenden Sie die neueste Version von Docker Engine. Erstellen Sie das Bild mit--t [Bildname]: Debugg-Modus, um das Problem zu debuggen. Überprüfen Sie den Speicherplatz und stellen Sie sicher, dass dies ausreicht. Deaktivieren Sie Selinux, um eine Störung des Build -Prozesses zu verhindern. Fragen Sie Community -Plattformen um Hilfe, stellen Sie Dockerfiles an und erstellen Sie Protokollbeschreibungen für genauere Vorschläge.

See all articles