Detaillierte Erläuterung der grundlegenden Docker-Netzwerkkonfiguration

Detaillierte Erläuterung der grundlegenden Docker-Netzwerkkonfiguration

Externer Zugriff

Ports nach dem Zufallsprinzip zuordnen

Mit dem Flag -P ordnet Docker dem im Container verfügbaren Netzwerkport zufällig einen Port zwischen 49000 und 49900 zu. docker run -d -P training/webapp python app.py
docker ps -l # Den zuletzt erstellten Container anzeigen docker logs -f web # Anwendungsinformationen anzeigen

Alle Schnittstellenadressen zuordnen

docker run -d -p 5000:5000 Training/Webanwendung Python app.py

Wird dem angegebenen Port der angegebenen Adresse zugeordnet

docker run -d -p 127.0.0.1:5000:5000 Training/Webanwendung Python app.py

Karte zu jedem Port der angegebenen Adresse

docker run -d -p 127.0.0.1::5000 training/webapp python app.py

UDP-Port angeben

docker run -d -p 127.0.0.1:5000:5000/udp-Training/Webanwendung Python app.py

Anzeigen der zugeordneten Portkonfiguration

Docker-Port Web 5000

Erstellen Sie ein neues Docker-Netzwerk

Docker-Netzwerk erstellen -d Bridge My-Net

Führen Sie den Container aus, um eine Verbindung mit dem neu erstellten my-net-Netzwerk herzustellen

docker run -it --rm --name busybox1 --network my-net busybox sh
docker run -it --rm --name busybox2 --network my-net busybox sh

Containerinformationen anzeigen

Docker-Container ls
Ping-Test im Container, um zu sehen, ob Container verbunden sind

Docker Compose wird für die Verbindung mehrerer Container empfohlen

DNS konfigurieren Nachdem die Host-DNS-Informationen aktualisiert wurden, wird die DNS-Konfiguration aller Docker-Container sofort über /etc/resolv.conf aktualisiert

DNS für alle Container konfigurieren

vim /etc/docker/daemon.json Inhalt hinzufügen {
 'dns':[
  „114.114.114.114“,
  „8.8.8.8“
 ]
}

docker run -it --rm ubuntu:17.10 cat /etc/resolv.conf

Container-Vernetzung

Das Verbindungssystem des Containers ist neben der Portzuordnung eine weitere Möglichkeit zur Interaktion mit Anwendungen im Container.

Es erstellt einen Tunnel zwischen dem Quell- und dem Empfangscontainer, und der Empfangscontainer kann die vom Quellcontainer angegebenen Informationen sehen.

Benutzerdefinierter Containername

Das Verbindungssystem wird basierend auf dem Containernamen ausgeführt. Sie müssen daher einen relativ einfachen und leicht zu unterscheidenden Containernamen anpassen.

Für die benutzerdefinierte Benennung wird der Parameter --name verwendet, der bereits in früheren Artikeln verwendet wurde:

docker run -d -p --name db mysql

Containernamen müssen eindeutig sein.

Wenn Sie beim Ausführen von Docker Run den Parameter --rm hinzufügen, wird der Container sofort nach der Beendigung gelöscht. Er kann jedoch nicht zusammen mit dem Parameter -d verwendet werden.

Container-Vernetzung

Verwenden Sie den Parameter --link, um eine sichere Verbindung zwischen Containern für die Interaktion herzustellen.

Hier ist ein Beispiel:

Erstellen Sie zunächst einen Datenbankcontainer:

docker run -d --name db training/postgres

Erstellen Sie dann den Webcontainer:

docker run -d -P --name web --link db:db training/webapp python app.py

An diesem Punkt sind der Datenbankcontainer und der Webcontainer miteinander verbunden.

--link-Parameter: --link Name:Alias, Name ist der Name des zu verbindenden Containers und Alias ​​ist der Alias ​​dieser Verbindung.

Sie können Docker PS verwenden, um Containerinformationen anzuzeigen, wobei die Namensspalte den Status der Verbindung anzeigen kann.

Docker erstellt einen sicheren Tunnel zwischen zwei miteinander verbundenen Containern. Dadurch entfällt die Notwendigkeit, deren Ports dem Host zuzuordnen, und eine Port-Freigabe wird verhindert.

Docker stellt Verbindungsinformationen auf zwei Arten bereit:

  • Umgebungsvariablen
  • Aktualisieren Sie die Datei /etc/hosts

Verwenden Sie den Befehl env, um jetzt die Umgebungsvariablen des Webcontainers anzuzeigen:

docker run --rm --name web2 --link db:db training/webapp-Umgebung …

Die Umgebungsvariablen, die mit DB_ beginnen, werden vom Webcontainer für die Verbindung mit dem DB-Container verwendet und erhalten als Präfix einen Verbindungsalias in Großbuchstaben.

Zusätzlich zu den Umgebungsvariablen fügt Docker auch die Hostinformationen zur Datei /etc/hosts des übergeordneten Containers hinzu. Der Webcontainer verwendet seine eigene ID als Standard-Hostnamen und der DB-Container verwendet db als Hostnamen.

Beispielsweise können Sie bei mehreren Web-zu-DB-Containern mehrere untergeordnete Container mit dem übergeordneten Container verknüpfen.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • So konfigurieren Sie DNS im Standard-Bridge-Netzwerk von Docker
  • So konfigurieren Sie ein Docker-Netzwerk mithilfe des Bridge-Netzwerks
  • Docker Punkt-zu-Punkt-Container-Netzwerkkonfiguration
  • CentOS: Ändern der Docker-Netzwerkkonfigurationsmethode zum Teilen
  • Docker Grundlagen: Netzwerkkonfiguration ausführlich erklärt
  • Detaillierte Erläuterung der manuellen Docker-Konfiguration von Containernetzwerkbeispielen
  • Detaillierte Erläuterung der Konfiguration des VLAN-Netzwerkmodus in Docker

<<:  JavaScript implementiert die Generierung eines 4-stelligen zufälligen Bestätigungscodes

>>:  Detaillierte Erklärung zum Kompilieren und Installieren von MySQL 5.6 auf CentOS und zum Installieren mehrerer MySQL-Instanzen

Artikel empfehlen

Implementierung von React Routing Guard (Routing-Interception)

React unterscheidet sich von Vue. Es implementier...

Installieren Sie Redis und MySQL auf CentOS

1|0MySQL (MariaDB) 1|11. Beschreibung Das Datenba...

SpringBoot integriert Activiti7-Implementierungscode

Nach der offiziellen Veröffentlichung von Activit...

So richten Sie die Swap-Partition SWAP in Linux 7.7 ein

Die Swap-Partition des Linux-Systems, also die Sw...

Zusammenfassung der 11 häufigsten Fehler von MySQL-Anfängern

Vorwort Sie erhalten möglicherweise häufig Warn-E...

Häufige Fehler und Gründe für MySQL-Verbindungsfehler

=================================================...

Lösen Sie das Matching-Problem in CSS

Problembeschreibung Wie wir alle wissen, wird bei...

Detaillierte Erklärung, wo das von Docker abgerufene Image gespeichert ist

20200804Nachtrag: Der Artikel könnte falsch sein....

【HTML-Element】So betten Sie Bilder ein

Mit dem img-Element können wir Bilder in HTML-Dok...

Spezifische Verwendung von MySQL-Operatoren (und, oder, in, nicht)

Inhaltsverzeichnis 1. Einleitung 2. Haupttext 2.1...

Vant+postcss-pxtorem implementiert Browser-Anpassungsfunktion

Rem-Layout-Anpassung Die Stile in Vant verwenden ...

Vue-Routing - Methode zum Sprung relativer Pfade

Inhaltsverzeichnis Relativer Pfadsprung im Vue-Ro...

JavaScript implementiert eine Box, die der Mausbewegung folgt

In diesem Artikel wird der spezifische JavaScript...

MySql-Anmeldekennwort vergessen und Lösung für vergessenes Kennwort

Methode 1: MySQL bietet einen Befehlszeilenparame...