Zuordnung von Ports zwischen Containern und Host
Grundlagen der Syntax für die Portzuordnung
Beim Freigeben von Ports in Docker verwenden Sie die folgende Syntax, um einen Container-Port auf einen Host-Port zuzuordnen:
-p <host_port>:<container_port>
Beispielsweise würden Sie, um Port 8080 auf dem Host auf Port 80 im Container zuzuordnen, Folgendes verwenden:
docker run -p 8080:80 nginx
Dadurch wird Port 80 im Container auf Port 8080 auf dem Hostsystem zugeordnet.
Dynamische Portzuordnung
Anstatt einen bestimmten Host-Port anzugeben, können Sie auch Docker erlauben, einen verfügbaren Port auf dem Hostsystem auszuwählen, indem Sie den Host-Port weglassen:
docker run -p 80 nginx
Dadurch wird ein verfügbarer Port auf dem Hostsystem auf Port 80 im Container zugeordnet. Sie können den zugeordneten Port finden, indem Sie docker port <container_name>
ausführen oder die Netzwerkeinstellungen des Containers untersuchen.
Zuordnung mehrerer Ports
Sie können mehrere Ports zuordnen, indem Sie die -p
-Option mehrmals angeben:
docker run -p 8080:80 -p 8443:443 nginx
Dadurch wird Port 80 im Container auf Port 8080 auf dem Host und Port 443 im Container auf Port 8443 auf dem Host zugeordnet.
Anzeigen der zugeordneten Ports
Sie können die zugeordneten Ports für einen laufenden Container anzeigen, indem Sie den Befehl docker port
verwenden:
docker port <container_name>
Dadurch wird Ihnen die Zuordnung zwischen den Container-Ports und den Host-Ports angezeigt.
Indem Sie verstehen, wie Sie Ports zwischen Containern und dem Hostsystem zuordnen, können Sie sicherstellen, dass Ihre Docker-basierten Anwendungen von außerhalb des Containers zugänglich sind, sodass Benutzer und andere Systeme mit Ihren Anwendungen interagieren können.