Ajouter ou supprimer un port publié
Dans cette étape, vous apprendrez à ajouter ou supprimer un port publié pour un service Docker. Publier un port rend un port à l'intérieur du conteneur accessible depuis l'extérieur du cluster Docker Swarm. Cela est essentiel pour exposer votre application aux utilisateurs ou à d'autres services.
Notre service my-service
actuel n'a aucun port publié car il exécute simplement une commande echo
et se termine. Pour démontrer la publication de ports, créons un nouveau service qui exécute un simple serveur web. Nous utiliserons l'image nginx
pour cela.
Tout d'abord, téléchargez l'image nginx
:
docker pull nginx
Maintenant, créons un nouveau service nommé web-service
et publions le port 80 du conteneur sur le port 8080 de l'hôte.
docker service create --name web-service --publish 8080:80 nginx
Cette commande crée un service nommé web-service
en utilisant l'image nginx
. Le paramètre --publish 8080:80
mappe le port 80 à l'intérieur du conteneur sur le port 8080 de l'hôte.
Vous devriez voir un message indiquant l'ID du service.
Pour vérifier que le port est publié, vous pouvez inspecter le service :
docker service inspect web-service
Recherchez la section EndpointSpec
dans la sortie. Vous devriez voir une entrée sous Ports
qui montre le mappage du port publié (par exemple, PublishedPort: 8080
, TargetPort: 80
).
Maintenant, supprimons le port publié du service web-service
. Nous pouvons le faire en utilisant la commande docker service update
avec le paramètre --publish-rm
, en spécifiant le port cible à l'intérieur du conteneur.
docker service update --publish-rm 80 web-service
Cette commande supprime le mappage du port 80 à l'intérieur du conteneur.
Vous devriez voir un message indiquant que le service a été mis à jour.
Pour vérifier que le port a été supprimé, inspectez le service à nouveau :
docker service inspect web-service
La section EndpointSpec
ne devrait plus montrer le mappage de port que vous venez de supprimer.