Docker verfügt über mehrere Netzwerkmodi
In Docker gibt es vier Netzwerkmodi: Der Container im Host-Modus teilt die IP-Adresse und die Portnummer des Hosts, der Container-Modus teilt die IP-Adresse und den Port des Containers, der Container im Kein-Modus verfügt über keine Netzwerkkarte und andere Informationen und der Container im Bridge-Modus kann direkt miteinander kommunizieren.
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Docker-1.13.1-Version, Dell G3-Computer.
Docker verfügt über mehrere Netzwerkmodi
Docker verwendet Linux Bridging (siehe „Linux Virtual Network Technology“), um eine Docker-Container-Brücke (docker0) auf dem Host zu virtualisieren, wenn Docker einen Container startet, basiert dieser auf dem Netzwerksegment Der Docker-Bridge wird eine IP-Adresse namens Container-IP zugewiesen, und die Docker-Bridge ist das Standard-Gateway 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-Host zuordnen (Port-Mapping), d. h. ihn über den Parameter -p oder -P aktivieren, wenn Docker Run den Container erstellt, und [Host verwenden IP] beim Zugriff auf den Container: [Container-Port] Greifen Sie auf den Container zu.
Vier Arten von Netzwerkmodi
Hostmodus
Wenn Sie beim Starten eines Containers den Hostmodus verwenden, erhält der Container keinen unabhängigen Netzwerk-Namespace, sondern teilt 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:
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:
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:
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:
Empfohlenes Lernen: „Docker-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonDocker verfügt über mehrere Netzwerkmodi. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



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

Sie können zur Quelle der Inlandsspiegel wechseln. Die Schritte sind wie folgt: 1. Bearbeiten Sie die Konfigurationsdatei /etc/docker/daemon.json und fügen Sie die Spiegelquellenadresse hinzu; 2. Starten Sie den Docker Service Sudo SystemCtl Docker neu, um die Download -Geschwindigkeit und -stabilität des Bilddownloads zu verbessern.

Um die Docker -Version zu erhalten, können Sie die folgenden Schritte ausführen: Führen Sie den Befehl Docker "Docker --version" aus, um die Client- und Serverversionen anzuzeigen. Für Mac oder Windows können Sie auch Versionsinformationen über die Registerkarte Version der Docker -Desktop -GUI oder das Menü Docker Desktop anzeigen.

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.

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

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

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.

Zu den Methoden zum Anzeigen von Docker -Protokollen gehören: Verwenden des Befehls docker Protokolle, z. cat /var/log/container_name.log Verwenden Sie den Befehl docker-compose-Protokolle von Docker Compose, zum Beispiel: Docker-compose -f Docker-com
