Docker Netzwerk: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (4 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 | + | *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" | {| class="wikitable" | ||
| Zeile 31: | Zeile 32: | ||
*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, 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.