Docker Netzwerk: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 31: Zeile 31:
 
*Beim Starten eines Containers mit dem --network Flag kann die IP-Adresse des Containers in diesem Netzwerk mit den Flags --ip oder --ip6 angegeben werden.
 
*Beim Starten eines Containers mit dem --network Flag kann die IP-Adresse des Containers in diesem Netzwerk mit den Flags --ip oder --ip6 angegeben werden.
 
=DNS services=
 
=DNS services=
*Standardmäßig erben Container die DNS-Einstellungen des Hosts, wie sie in der Konfigurationsdatei /etc/resolv.conf definiert sind.
+
*Standardmäßig erben Container die DNS-Einstellungen des Hosts, wie Wir in der Konfigurationsdatei /etc/resolv.conf definiert sind.
 
*Container, die an ein benutzerdefiniertes Netzwerk angeschlossen sind, verwenden den eingebetteten DNS-Server von Docker.
 
*Container, die an ein benutzerdefiniertes Netzwerk angeschlossen sind, verwenden den eingebetteten DNS-Server von Docker.
 
*Der eingebettete DNS-Server leitet externe DNS-Abfragen an die auf dem Host konfigurierten DNS-Server weiter.
 
*Der eingebettete DNS-Server leitet externe DNS-Abfragen an die auf dem Host konfigurierten DNS-Server weiter.
 
*Benutzerdefinierte Hosts, die in der Datei /etc/hosts auf dem Host-Rechner definiert sind, werden von Containern nicht geerbt.
 
*Benutzerdefinierte Hosts, die in der Datei /etc/hosts auf dem Host-Rechner definiert sind, werden von Containern nicht geerbt.

Version vom 13. Februar 2023, 14:40 Uhr

Grundlagen

  • Ein Container hat keine Informationen darüber, welche Art von Netzwerk er angeschlossen ist, ob es sich um eine Brücke, ein Overlay, ein Macvlan-Netzwerk oder ein benutzerdefiniertes Netzwerk-Plugin handelt.
  • Ein Container sieht lediglich eine Netzwerkschnittstelle mit einer IP-Adresse, einem Gateway, einer Routentabelle, DNS-Diensten und anderen Netzwerkdetails.
  • Docker Netzwerktreiber

Published Ports

  • Standartmäßig werden keine Ports des Docker Containers nach außen Freigegeben.
  • Um einen Port für Dienste außerhalb von Docker oder für Docker-Container, die auf einem anderen Netzwerk ausgeführt werden, verfügbar zu machen, verwenden wir die Option --publish oder -p.
  • Diese Option erstellt eine Firewall-Regel im Container, die einen Container-Port auf einen Port auf dem Docker-Host-System abbildet.
Flag value Beschreibung
-p 8080:80 Abbildung des TCP-Ports 80 im Container auf Port 8080 auf dem Docker-Host-System.
-p 192.168.1.100:8080:80 Abbildung des TCP-Ports 80 im Container auf Port 8080 auf dem Docker-Host-System für Verbindungen zur Host-IP 192.168.1.100.
-p 8080:80/udp Abbildung des UDP-Ports 80 im Container auf Port 8080 auf dem Docker-Host-System.
-p 8080:80/tcp -p 8080:80/udp Abbildung des TCP-Ports 80 im Container auf TCP-Port 8080 auf dem Docker-Host-System und Abbildung des UDP-Ports 80 im Container auf UDP-Port 8080 auf dem Docker-Host-System.

IP address and hostname

  • Ein Container erhält standardmäßig eine IP-Adresse für jedes Docker-Netzwerk, dem er angehört.
  • Wenn ein Container gestartet wird, kann er sich nur über das --network Flag an ein einziges Netzwerk anschließen
  • Man kann einen laufenden Container mit mehreren Netzwerken verbinden, indem man den Befehl docker network connect verwendet
  • Beim Starten eines Containers mit dem --network Flag kann die IP-Adresse des Containers in diesem Netzwerk mit den Flags --ip oder --ip6 angegeben werden.

DNS services

  • Standardmäßig erben Container die DNS-Einstellungen des Hosts, wie Wir in der Konfigurationsdatei /etc/resolv.conf definiert sind.
  • Container, die an ein benutzerdefiniertes Netzwerk angeschlossen sind, verwenden den eingebetteten DNS-Server von Docker.
  • Der eingebettete DNS-Server leitet externe DNS-Abfragen an die auf dem Host konfigurierten DNS-Server weiter.
  • Benutzerdefinierte Hosts, die in der Datei /etc/hosts auf dem Host-Rechner definiert sind, werden von Containern nicht geerbt.