Réponses:
Pour exposer un seul port, voici ce que vous devez faire:
docker run -p <host_port>:<container_port>
Pour exposer plusieurs ports, fournissez simplement plusieurs -p
arguments:
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
pas expose
.
Dans votre Dockerfile
, vous pouvez utiliser le verbe EXPOSE
pour exposer plusieurs ports.
par exemple
EXPOSE 3000 80 443 22
Vous souhaitez ensuite créer une nouvelle image basée sur ce qui précède Dockerfile
.
par exemple
docker build -t foo:tag .
Ensuite, vous pouvez utiliser -p
pour mapper le port hôte avec le port conteneur, comme défini ci EXPOSE
- dessus de Dockerfile
.
par exemple
docker run -p 3001:3000 -p 23:22
Si vous souhaitez exposer une gamme de ports continus, vous pouvez exécuter docker comme ceci:
docker run -it -p 7100-7120:7100-7120/tcp
si vous utilisez un docker-compose.yml
fichier:
services:
varnish:
ports:
- 80
- 6081
Vous pouvez également spécifier le port hôte / réseau
varnish:
ports:
- 80:80
- 6081:6081
Si vous créez un conteneur à partir d'une image et souhaitez exposer plusieurs ports (pas publier), vous pouvez utiliser la commande suivante:
docker create --name
container name
--expose 7000 --expose 7001image name
Maintenant, lorsque vous démarrez ce conteneur à l'aide de la docker start
commande, les ports configurés ci-dessus seront exposés.