Docker - Gestion des ports
Dans Docker, les conteneurs eux-mêmes peuvent avoir des applications s'exécutant sur des ports. Lorsque vous exécutez un conteneur, si vous souhaitez accéder à l'application dans le conteneur via un numéro de port, vous devez mapper le numéro de port du conteneur avec le numéro de port de l'hôte Docker. Regardons un exemple de la façon dont cela peut être réalisé.
Dans notre exemple, nous allons télécharger le conteneur Jenkins depuis Docker Hub. Nous allons ensuite mapper le numéro de port Jenkins au numéro de port sur l'hôte Docker.
Step 1 - Tout d'abord, vous devez faire une simple inscription sur Docker Hub.
Step 2 - Une fois que vous vous êtes inscrit, vous serez connecté à Docker Hub.
Step 3 - Ensuite, parcourons et trouvons l'image Jenkins.
Step 4 - Si vous faites défiler vers le bas sur la même page, vous pouvez voir le Docker pullcommander. Cela sera utilisé pour télécharger l'image Jenkins sur le serveur Ubuntu local.
Step 5 - Allez maintenant sur le serveur Ubuntu et exécutez la commande -
sudo docker pull jenkins
Step 6 - Pour comprendre quels ports sont exposés par le conteneur, vous devez utiliser le Docker inspect command pour inspecter l'image.
Apprenons maintenant plus à ce sujet inspect commander.
inspecter les dockers
Cette méthode permet de renvoyer des informations de bas niveau sur le conteneur ou l'image.
Syntaxe
docker inspect Container/Image
Options
Container/Image - Le conteneur ou l'image à inspecter
Valeur de retour
Les informations de bas niveau de l'image ou du conteneur au format JSON.
Exemple
sudo docker inspect jenkins
Production
La sortie du inspectcommande donne une sortie JSON. Si nous observons la sortie, nous pouvons voir qu'il y a une section de "ExposedPorts" et voir qu'il y a deux ports mentionnés. L'un est ledata port de 8080 et l'autre est le control port de 50000.
Pour exécuter Jenkins et mapper les ports, vous devez changer le Docker runet ajoutez l'option 'p' qui spécifie le mappage de port. Donc, vous devez exécuter la commande suivante -
sudo docker run -p 8080:8080 -p 50000:50000 jenkins
Le côté gauche du mappage du numéro de port est le port hôte Docker à mapper et le côté droit est le numéro de port du conteneur Docker.
Lorsque vous ouvrez le navigateur et accédez à l'hôte Docker sur le port 8080, vous verrez Jenkins opérationnel.