Comment mapper un port hôte sur un port de conteneur?

Comment mapper un port hôte sur un port de conteneur?
La plate-forme open-source Docker a complètement changé la façon dont nous construisons, déploiez et gérons les applications conteneurisées. Vous devrez construire un dockerfile pour conteneuriser une application, qui contient les instructions dont Docker a besoin pour générer et exécuter des images. Pour permettre une communication transparente entre les conteneurs dans des applications multi-continents et rendre vos ports Docker disponibles par des services avec le monde extérieur, vous devrez peut-être définir certaines règles de réseautage.

Lorsque vous démarrez un conteneur avec Docker, toutes les applications du conteneur fonctionnent sur des ports spécifiques. Si vous souhaitez utiliser un numéro de port pour accéder à une application spécifique, vous devez d'abord cartographier le numéro de port du conteneur au numéro de port de l'hôte Docker. Les conteneurs peuvent utiliser des mappages de ports pour envoyer et recevoir du trafic via des ports sur l'instance de conteneur hôte. Les mappages de ports du conteneur sont définis comme faisant partie de la définition du conteneur. Le numéro de port du conteneur connecté au port hôte a été choisi soit par l'utilisateur, soit alloué automatiquement.

Les conteneurs de Docker peuvent avoir leurs applications en cours d'exécution sur les ports. Lorsque vous exécutez un conteneur, vous devez cartographier le numéro de port du conteneur au numéro de port de l'hôte Docker si vous souhaitez connecter l'application du conteneur via un numéro de port. Dans ce tutoriel, nous vous expliquerons la cartographie d'un port d'hôte sur un port de conteneur dans Docker.

Conditions préalables

Pour cartographier un port hôte sur un port de conteneur, vous devez installer Ubuntu 20.04 Système d'exploitation. Assurez-vous également que le Docker doit être installé dessus. Sinon, tout ce tutoriel ne sera pas constructif pour vous. Si vous n'avez pas actuellement installé Docker, vous pouvez le faire en exécutant simplement la commande sous-écrite dans le terminal de la ligne de commande.

$ sudo apt install docker.Io

Nous avons démarré la commande avec le mot-clé «sudo» qui signifie que vous devez avoir des droits d'accès aux utilisateurs racine à des fins d'installation.

Méthode pour cartographier un port hôte sur un port de conteneur dans Docker

Pour cartographier un port hôte sur un port de conteneur dans Docker, initialement, vous devez ouvrir le shell de ligne de commande dans votre système d'exploitation. Vous pouvez l'ouvrir en recherchant dans le menu des applications en tapant le mot clé «Terminal» dans la barre de recherche ou en utilisant la clé de raccourci «Ctrl + Alt + T». Une fois l'ouverture, vous devez écrire la commande ci-dessous pour exécuter l'image nommée 'nginx' avec le -P drapeau.

$ sudo docker run -itd -p nginx

Comme nous avons utilisé le mot-clé «sudo» au début de la commande, le système se renseignera pour le mot de passe. Après avoir fourni le mot de passe, l'image requise sera créée. Maintenant, il est temps d'afficher les images de Docker. Utilisez la commande annexe ci-dessous pour terminer votre tâche.

$ sudo docker ps

Comme affiché dans l'image attachée ci-dessus, vous pouvez voir l'ID de conteneur, l'image, la commande, son temps de création et l'état ainsi que le numéro de port. Nous avons mis en évidence le numéro de port de 'nginx' c'est: 49153-> 80.

Maintenant, nous exécuterons la commande mentionnée ci-dessous:

$ sudo docker run -itd -p nginx

Une fois exécuté avec succès, vous devez énumérer à nouveau les images en utilisant cette commande.

$ sudo docker ps

Comme mis en évidence dans l'image, vous pouvez vérifier que la valeur a été augmentée de 1 qui est de 49154-> 80. Maintenant, vous devez vérifier l'image avec la commande docker inspecter pour voir quels ports le conteneur expose. Vous devez exécuter la commande annexe suivante dans la fenêtre de terminal.

$ sudo docker inspecter nginx

La commande Inspect renvoie un objet JSON en conséquence. Nous pouvons voir un morceau de «Exposedports» dans la sortie si nous examinons de près l'image attachée affichée ci-dessus. Vous devez mettre à jour la commande docker run pour inclure l'option '-p', qui indique le mappage des ports, pour exécuter nginx et cartographier les ports. En conséquence, vous devez implémenter la commande annexe suivante.

$ sudo docker run -p 80:80 -p 50:50 nginx

Le port hôte docker pour mapper est principalement sur le côté gauche de la mappage du numéro de port, tandis que le numéro de port de conteneur Docker serait sur le côté droit. Vous remarquerez Nginx Up et fonctionne lorsque vous lancerez le navigateur et allez à l'hôte Docker sur le port 80.

Conclusion

Dans ce guide, nous avons appris à cartographier un port hôte dans un port de conteneur à Docker. Je crois maintenant que vous pourrez facilement cartographier un port hôte sur un port de conteneur à Docker en examinant ce tutoriel.