Les ports de conteneurs sont des ports réseau spécifiques qui peuvent être liés à des services ou applications spécifiques au sein d'un conteneur.
Chaque conteneur peut avoir ses propres ports qui peuvent être utilisés pour communiquer avec le monde extérieur ou avec d'autres conteneurs. Lors du démarrage d'un conteneur, vous pouvez spécifier quels ports doivent être disponibles à l'intérieur du conteneur et quels ports doivent être transférés vers la machine hôte.
ports:
external_port:Internal port
Par exemple, faisons suivre le port 80 par le port 8094 :
docker-nginx:
image: nginx
ports:
- '8094:80'
Lorsque le conteneur est en cours d'exécution, l'application qu'il contient peut écouter ou envoyer des données via le port approprié. Les utilisateurs peuvent interagir avec l'application en accédant au port du conteneur qui a été transféré à la machine hôte.
Pour démarrer les ports d'un conteneur, vous devez utiliser la commande docker run
avec l'option -p
ou --publish
.
La syntaxe de la commande docker run avec l'option -p
est la suivante :
docker run -p <host port>:<container port> <image_name>
Où :
<host-port> est le port de votre hôte qui sera mandaté vers le port du conteneur.
<container-port> - le port du conteneur qui sera accessible via le port de l'hôte spécifié.
<image_name> - le nom de l'image du conteneur que vous souhaitez exécuter.
Par exemple, pour démarrer un conteneur avec un serveur web sur le port 80 et le diriger vers le port 8080 de votre hôte, vous pouvez utiliser la commande suivante :
docker run -p 8080:80 nginx
Le serveur web fonctionnant dans le conteneur sera désormais accessible sur le port 8080 de votre hôte.
Vous pouvez également utiliser une plage de ports en spécifiant plusieurs paires <port-hôte>:<port-conteneur>.
Par exemple :
docker run -p 8080-8082:80-82 nginx
Les ports 80, 81 et 82 du conteneur seront respectivement connectés aux ports 8080, 8081 et 8082 de votre hôte. Une fois que vous aurez démarré le conteneur avec les ports mandatés, vous pourrez y accéder via les ports de l'hôte spécifiés.