Inhaltsverzeichnis
Was sind die Unterschiede zwischen den vier Docker-Netzwerkmodi?
Heim Betrieb und Instandhaltung Docker Was sind die Unterschiede zwischen den vier Netzwerkmodi von Docker?

Was sind die Unterschiede zwischen den vier Netzwerkmodi von Docker?

Feb 23, 2022 am 11:45 AM
docker

Unterschiede: 1. Der Container im Host-Modus und der Host teilen sich einen „Netzwerk-Namespace“. 2. Der im Container-Modus erstellte Container teilt sich die IP-Adresse und den Portbereich mit dem angegebenen Container. 3. Der „Keine“-Modus schaltet die Netzwerkfunktion aus des Containers 4 weist der Standardmodus von Bridge jedem Container eine festgelegte IP zu.

Was sind die Unterschiede zwischen den vier Netzwerkmodi von Docker?

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

Was sind die Unterschiede zwischen den vier Docker-Netzwerkmodi?

1. Vier Netzwerkmodi

Was sind die Unterschiede zwischen den vier Netzwerkmodi von Docker?

2. Implementierungsprinzip

Docker nutzt Linux-Bridging, um ein Docker-Containernetzwerk zu virtualisieren Wenn Docker einen Container startet, weist die Host-Maschine Bridge (Docker0) dem Container eine IP-Adresse basierend auf dem Netzwerksegment der Docker-Bridge zu, die als Container-IP bezeichnet wird. Gleichzeitig ist die Docker-Bridge das Standard-Gateway jedes Containers. Da Container im selben Host alle mit derselben Netzwerkbrücke verbunden sind, können Container direkt über die Container-IP des Containers kommunizieren. Die Docker-Brücke wird vom Host virtualisiert und ist kein echtes Netzwerkgerät. Das externe Netzwerk ist es nicht adressierbar, 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

1.Host-Modus

Wenn Sie beim Starten des Containers den Host-Modus verwenden, erhält der Container keinen unabhängigen Netzwerk-Namespace, sondern teilt sich ein 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. Container, die den Host-Modus verwenden, können direkt über die IP-Adresse des Hosts kommunizieren Der größte Vorteil des Hosts besteht darin, dass die Netzwerkleistung relativ gut ist, die Ports, die bereits auf dem Docker-Host verwendet werden, jedoch nicht Die Isolation des Netzwerks ist nicht gut

2. Der erstellte Container erstellt keine eigene Netzwerkkarte und konfiguriert seine eigene IP, sondern teilt die IP-Adresse und den Portbereich mit einem angegebenen Container Dieser Modus gibt an, dass der neu erstellte Container einen Netzwerk-Namespace mit einem vorhandenen Container teilt und nicht mit einem vorhandenen Host-Sharing. 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 , es handelt sich nicht um den Docker-Container. Nehmen Sie eine beliebige Netzwerkkonfiguration vor. Mit anderen Worten: Dieser Docker-Container verfügt nicht über Netzwerkkarten-, IP-, Routing- und andere Informationen. Wir müssen dem Docker-Container selbst Netzwerkkarten hinzufügen, IP konfigurieren usw. 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.

Eine einzelne Maschine ohne Netzwerk ist hochsicher und kann Daten sicher speichern, ohne angegriffen zu werden

In diesem Modus wird jedem Container eine IP zugewiesen und festgelegt, der Container mit einer virtuellen Docker0-Brücke verbunden und die Zuordnung zum Host über die Docker0-Brücke und die iptables-NAT-Tabelle konfiguriert.

Wenn der Docker-Prozess startet, wird eine virtuelle Brücke benannt Auf dem Host wird docker0 erstellt und der auf diesem Host gestartete Docker-Container wird mit dieser virtuellen Bridge verbunden. Die virtuelle Brücke 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 IP-Adresse von Docker0 als Container fest das Standard-Gateway. 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 über den 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 verwenden, um anzuzeigen , mehrere Container teilen sich die gleiche IP und den gleichen Portbereich

Keine: eigenständiger Speicherplatz, keine Netzwerkkarte, keine Netzwerkverbindung erforderlich

Bridge: Der Standardmodus „Bridge“ erstellt einen Container, ohne einen Netzwerkmodus anzugeben. Der Container wird standardmäßig über das Veth-Paar mit der Docker0-Brücke verbunden. Die Bridge weist dem Container eine IP zu Als Container innerhalb des „LAN“ kommuniziert das Gateway schließlich mit der Host-Netzwerkkarte. Gleichzeitig wird die Container-IP/-Port durch IPtables-Regeln für die Interaktion mit der Host-Netzwerkkarte zugeordnet Tutorial

"

Das obige ist der detaillierte Inhalt vonWas sind die Unterschiede zwischen den 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

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

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 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 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 ü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").

So starten Sie Docker neu So starten Sie Docker neu Apr 15, 2025 pm 12:06 PM

So starten Sie den Docker -Container neu: Holen Sie sich die Container -ID (Docker PS); Stop den Container (Docker Stop & lt; Container_id & gt;); Starten Sie den Container (Docker start & lt; container_id & gt;); Stellen Sie sicher, dass der Neustart erfolgreich ist (Docker PS). Andere Methoden: Docker Compose (Docker-Compose Neustart) oder Docker-API (siehe Docker-Dokumentation).

So starten Sie MySQL von Docker So starten Sie MySQL von Docker Apr 15, 2025 pm 12:09 PM

Der Prozess des Startens von MySQL in Docker besteht aus den folgenden Schritten: Ziehen Sie das MySQL -Image zum Erstellen und Starten des Containers an, setzen

So sehen Sie den Docker -Prozess So sehen Sie den Docker -Prozess Apr 15, 2025 am 11:48 AM

Docker Process Viewing -Methode: 1. Docker Cli -Befehl: Docker PS; 2. SYSTEMD CLI -Befehl: SystemCTL Status Docker; 3.. Docker Compose CLI Command: Docker-Compose PS; 4. Process Explorer (Windows); 5. /proc -Verzeichnis (Linux).

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).

See all articles