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ù -p
argomenti:
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
?
publish
non lo sia expose
.
Nel tuo Dockerfile
, puoi usare il verbo EXPOSE
per 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 -p
per mappare porta host con il porto container, come definito al precedente EXPOSE
di 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.yml
file:
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 start
comando, le porte configurate sopra saranno esposte.