Risposte:
Per esporre solo una porta, questo è ciò che devi fare:
docker run -p <host_port>:<container_port>
Per esporre più porte, è sufficiente fornire più -pargomenti:
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?
publishnon lo sia expose.
Nel tuo Dockerfile, puoi usare il verbo EXPOSEper esporre più porte.
per esempio
EXPOSE 3000 80 443 22
Vorresti quindi creare una nuova immagine basata su sopra Dockerfile.
per esempio
docker build -t foo:tag .
Quindi è possibile utilizzare il -pper mappare porta host con il porto container, come definito al precedente EXPOSEdi Dockerfile.
per esempio
docker run -p 3001:3000 -p 23:22
Nel caso in cui desideri esporre un intervallo di porte continue, puoi eseguire la finestra mobile in questo modo:
docker run -it -p 7100-7120:7100-7120/tcp
se si utilizza il docker-compose.ymlfile:
services:
varnish:
ports:
- 80
- 6081
È inoltre possibile specificare la porta host / di rete
varnish:
ports:
- 80:80
- 6081:6081
Se stai creando un contenitore da un'immagine e vuoi esporre più porte (non pubblicare) puoi usare il seguente comando:
finestra mobile create --name
container name--expose 7000 --expose 7001image name
Ora, quando avvierai questo container usando il docker startcomando, le porte configurate sopra saranno esposte.