J'ai donc 3 ports qui devraient être exposés à l'interface de la machine. Est-il possible de le faire avec un conteneur Docker?
docker
docker-networking
nubela
la source
la source
Réponses:
Pour exposer un seul port, voici ce que vous devez faire:
Pour exposer plusieurs ports, fournissez simplement plusieurs
-p
arguments:la source
Note: The -p flag can be used multiple times to configure multiple ports.
--env-file
?docker run -P
(notez les majuscules) qui expose automatiquement tous les ports définis avec EXPOSE dans le Dockerfilepublish
pasexpose
.Étape 1
Dans votre
Dockerfile
, vous pouvez utiliser le verbeEXPOSE
pour exposer plusieurs ports.par exemple
Étape 2
Vous souhaitez ensuite créer une nouvelle image basée sur ce qui précède
Dockerfile
.par exemple
Étape 3
Ensuite, vous pouvez utiliser
-p
pour mapper le port hôte avec le port conteneur, comme défini ciEXPOSE
- dessus deDockerfile
.par exemple
Si vous souhaitez exposer une gamme de ports continus, vous pouvez exécuter docker comme ceci:
la source
si vous utilisez un
docker-compose.yml
fichier:Vous pouvez également spécifier le port hôte / réseau
la source
Si vous créez un conteneur à partir d'une image et souhaitez exposer plusieurs ports (pas publier), vous pouvez utiliser la commande suivante:
Maintenant, lorsque vous démarrez ce conteneur à l'aide de la
docker start
commande, les ports configurés ci-dessus seront exposés.la source