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 -pArgumente 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
publishnicht expose.
In Ihrem Dockerfilekö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 -pHost - Port mit dem Containerhafen auf der Karte, wie in oben EXPOSEvon 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.ymlDatei 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 startBefehl starten , werden die oben konfigurierten Ports angezeigt.