Docker Netzwerk: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 3: Zeile 3:
 
*Ein Container sieht lediglich eine Netzwerkschnittstelle mit einer IP-Adresse, einem Gateway, einer Routentabelle, DNS-Diensten und anderen Netzwerkdetails.
 
*Ein Container sieht lediglich eine Netzwerkschnittstelle mit einer IP-Adresse, einem Gateway, einer Routentabelle, DNS-Diensten und anderen Netzwerkdetails.
 
*[[Docker Netzwerktreiber]]
 
*[[Docker Netzwerktreiber]]
 +
*[[Docker Network]]
 
=Published Ports=
 
=Published Ports=
 
*Standartmäßig werden keine Ports des Docker Containers nach außen Freigegeben.
 
*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 Sie die Option --publish oder -p.
+
*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.
 
*Diese Option erstellt eine Firewall-Regel im Container, die einen Container-Port auf einen Port auf dem Docker-Host-System abbildet.
 +
{| class="wikitable"
 +
|-
 +
! 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, die wir in der Konfigurationsdatei /etc/resolv.conf definiert haben.
 +
*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.

Aktuelle Version vom 14. Februar 2023, 08:47 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
  • Docker Network

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, die wir in der Konfigurationsdatei /etc/resolv.conf definiert haben.
  • 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.