Antworten:
Um nur einen Port verfügbar zu machen, müssen Sie Folgendes tun:
docker run -p <host_port>:<container_port>
Geben Sie einfach mehrere -p
Argumente an, um mehrere Ports verfügbar zu machen:
docker run -p <host_port1>:<container_port1> -p <host_port2>:<container_port2>
Note: The -p flag can be used multiple times to configure multiple ports.
--env-file
?
docker run -P
(beachten Sie den Großbuchstaben), wodurch automatisch alle mit EXPOSE in der Docker-Datei definierten Ports verfügbar gemacht werden
publish
nicht expose
.
In Ihrem Dockerfile
können Sie das Verb verwenden EXPOSE
, um mehrere Ports verfügbar zu machen.
z.B
EXPOSE 3000 80 443 22
Sie möchten dann ein neues Bild basierend auf oben erstellen Dockerfile
.
z.B
docker build -t foo:tag .
Dann können Sie mit der -p
Host - Port mit dem Containerhafen auf der Karte, wie in oben EXPOSE
von Dockerfile
.
z.B
docker run -p 3001:3000 -p 23:22
Wenn Sie eine Reihe fortlaufender Ports verfügbar machen möchten, können Sie Docker wie folgt ausführen:
docker run -it -p 7100-7120:7100-7120/tcp
Wenn Sie docker-compose.yml
Datei verwenden:
services:
varnish:
ports:
- 80
- 6081
Sie können auch den Host- / Netzwerkport angeben
varnish:
ports:
- 80:80
- 6081:6081
Wenn Sie einen Container aus einem Image erstellen und mehrere Ports verfügbar machen möchten (nicht veröffentlichen), können Sie den folgenden Befehl verwenden:
Docker erstellen --name
container name
--expose 7000 --expose 7001image name
Wenn Sie diesen Container jetzt mit dem docker start
Befehl starten , werden die oben konfigurierten Ports angezeigt.