Geschätzte Lesezeit: 4 Minuten
Der Netzwerktyp, den ein Container verwendet, unabhängig davon, ob es sich um eine Bridge, ein Overlay, ein Macvlan-Netzwerk oder ein benutzerdefiniertes Networkplugin handelt, ist innerhalb des Containers transparent. Aus Sicht des Containers verfügt es über eine Netzwerkschnittstelle mit einer IP-Adresse, einem Gateway, einer Routingtabelle,DNS-Diensten und anderen Netzwerkdetails (vorausgesetzt, der Container verwendet keinen none
– Netzwerktreiber). In diesem Thema geht es um Netzwerkbedenken aus Sicht des Containers.,
Veröffentlichte Ports
Wenn Sie standardmäßig einen Container mit docker create
oder docker run
erstellen oder ausführen,veröffentlicht er keinen seiner Ports nach außen. Verwenden Sie das Flag --publish
oder -p
, um einen Port für Dienste außerhalb von Docker oder für Docker-Container verfügbar zu machen, die nicht mit dem Netzwerk des Containers verbunden sind. Dadurch wird eine Firewallrule erstellt, die einen Containerport einem Port auf dem Docker-Host der Außenwelt zuordnet.Hier sind einige Beispiele.,
Flag-Wert | Beschreibung |
---|---|
-p 8080:80 |
Anzeigen der TCP-port 80 im container auf port 8080 auf dem Docker-host. |
-p 192.168.1.100:8080:80 |
Ordnen Sie TCP-Port 80 im Container Port 8080 auf dem Docker-Host für Verbindungen zur Host-IP 192.168.1.100 zu. |
-p 8080:80/udp |
Ordnen Sie UDP-Port 80 im Container Port 8080 auf dem Docker-Host zu., |
-p 8080:80/tcp -p 8080:80/udp |
Ordnen Sie den TCP-Port 80 im Container dem TCP-Port 8080 auf dem Docker-Host zu und ordnen Sie den UDP-Port 80 im Container dem UDP-Port 8080 auf dem Docker-Host zu. |
IP-Adresse und Hostname
Standardmäßig wird dem Container eine IP-Adresse für jedes Docker-Netzwerk zugewiesen, mit dem er verbunden ist. Die IP-Adresse wird aus dem zugewiesenen Pool zugewiesendas Netzwerk, so dass der Docker-Daemon effektiv als DHCP-Server für Eachcontainer fungiert. Jedes Netzwerk verfügt außerdem über eine Standard-Subnetzmaske und ein Gateway.,
Wenn der Container gestartet wird, kann er nur über--network
mit einem einzigen Netzwerk verbunden werden. Sie können jedoch einen laufenden Container mit multiplenetworks verbinden docker network connect
. Wenn Sie einen Container mit dem Flag--network
starten, können Sie die dem Container im Netzwerk zugewiesene IP-Adresse mithilfe der Flags --ip
oder --ip6
angeben.,
Wenn Sie einen vorhandenen Container überdocker network connect
mit einem anderen Netzwerk verbinden, können Sie die Flags --ip
oder --ip6
in thatcommand verwenden, um die IP-Adresse des Containers im zusätzlichen Netzwerk anzugeben.
Auf die gleiche Weise ist der Hostname eines Containers standardmäßig der ID-inDocker des Containers. Sie können den Hostnamen mit --hostname
überschreiben., Wenn Sie mit docker network connect
eine Verbindung zu einem vorhandenen Netzwerk herstellen, können Sie mit dem Flag --alias
einen zusätzlichen Netzwerkalias für den Container in diesem Netzwerk angeben.
DNS-Dienste
Standardmäßig erbt ein Container die DNS-Einstellungen des Hosts, wie in der Konfigurationsdatei/etc/resolv.conf
definiert. Container, die das Standardnetzwerk bridge
verwenden, erhalten eine Kopie dieser Datei, während Container, die den eingebetteten DNS-Server von acustom networkuse Docker verwenden, externe DNS-Lookups an die auf dem Host konfigurierten DNSservers weiterleitet.,
Benutzerdefinierte Hosts, die in /etc/hosts
definiert sind, werden nicht vererbt. Um zusätzliche Hosts an Ihren Container zu übergeben, beziehen Sie sich auf Hinzufügen von Einträgen zu Container hosts filein der Referenzdokumentation docker run
. Sie können diese Einstellungen pro Container überschreiben.
Beschreibung | |
---|---|
--dns |
Die IP-Adresse eines DNS-Servers., Um mehrere DNS-Server anzugeben, verwenden Sie mehrere Flags. Wenn der Container keine der von Ihnen angegebenen IP-Adressen erreichen kann, wird der öffentliche DNS-Server von Google 8.8.8.8 hinzugefügt, damit Ihr Container Internetdomänen auflösen kann. |
--dns-search |
Eine DNS-Suchdomäne zur Suche nach nicht vollständig qualifizierten Hostnamen. Um mehrere DNS-Suchpräfixe anzugeben, verwenden Sie mehrere--dns-search Flags. |
--dns-opt |
Ein Schlüssel-Wert-Paar, das eine DNS-Option und ihren Wert darstellt., In der Dokumentation Ihres Betriebssystems finden Sie resolv.conf für gültige Optionen. |
--hostname |
Der hostname ein container, verwendet für sich selbst. Standardmäßig die ID des Containers, wenn nicht angegeben. |
Proxy server
Wenn Ihr Container einen Proxy-Server verwenden muss, siehe Proxy-Server verwenden.
Vernetzung, container, standalone
Leave a Reply