Container-Ports sind spezifische Netzwerk-Ports, die an bestimmte Dienste oder Anwendungen innerhalb eines Containers gebunden werden können.
Jeder Container kann seine eigenen Ports haben, die zur Kommunikation mit der Außenwelt oder mit anderen Containern verwendet werden können. Beim Starten eines Containers können Sie festlegen, welche Ports innerhalb des Containers verfügbar sein sollen und welche Ports an den Hostrechner weitergeleitet werden sollen.
ports:
external_port:Internal port
Zum Beispiel leiten wir Port 80 als 8094 weiter:
docker-nginx:
image: nginx
ports:
- '8094:80'
Wenn der Container läuft, kann die Anwendung innerhalb des Containers über den entsprechenden Port lauschen oder Daten senden. Benutzer können mit der Anwendung interagieren, indem sie auf den Container-Port zugreifen, der an den Host-Rechner weitergeleitet wurde.
Um Container-Ports zu starten, müssen Sie den Befehl docker run
mit dem Flag -p
oder --publish
verwenden.
Die Syntax für den Befehl docker run mit dem Flag -p
lautet wie folgt:
docker run -p <host port>:<container port> <image_name>
Where:
<Host-Port> ist der Port auf Ihrem Host, der als Proxy für den Container-Port verwendet wird.
<container-port> - der Port innerhalb des Containers, auf den über den angegebenen Host-Port zugegriffen werden soll.
<Bildname> - der Name des Container-Bildes, das Sie ausführen möchten.
Um zum Beispiel einen Container mit einem Webserver auf Port 80 zu starten und ihn auf Port 8080 Ihres Hosts zu projizieren, können Sie den folgenden Befehl verwenden:
docker run -p 8080:80 nginx
Der Webserver, der im Container läuft, wird nun auf Port 8080 Ihres Hosts erreichbar sein.
Sie können auch einen Portbereich verwenden, indem Sie mehrere Paare <Host-Port>:<Container-Port> angeben.
Zum Beispiel:
docker run -p 8080-8082:80-82 nginx
Dadurch werden die Ports 80, 81 und 82 innerhalb des Containers auf die Ports 8080, 8081 bzw. 8082 Ihres Hosts verlagert. Sobald Sie den Container mit den Proxy-Ports starten, können Sie über die angegebenen Host-Ports auf sie zugreifen.