Image showing Comprendre le réseau des conteneurs Docker

Comprendre le réseau des conteneurs Docker

affiliate best offer

Dans la vidéo précédente, nous avons appris à exécuter un conteneur et à effectuer le mappage de ports pour y accéder via un navigateur web ou l’outil Curl. Dans cette vidéo, nous allons aborder le réseau des conteneurs, les adresses IP et les mappages de ports pour éviter les conflits.

Nombre limité d’adresses IP

L’adresse IP Version 4, représentée sous la forme quelque chose point quelque chose point quelque chose point quelque chose, dispose d’un nombre limité d’adresses IP. Par conséquent, les conteneurs n’auront pas d’adresses IP publiques mais disposeront plutôt d’adresses IP pour leurs services comme les serveurs web, les serveurs de bases de données ou les serveurs de messagerie.

Mappage de ports

Les conteneurs vont exposer leurs services sur la base d’un port par port, et nous allons travailler avec des numéros de port pour éviter les conflits. Pour connaître le mappage de ports, nous pouvons utiliser [docker](/blog/en/kubernetes/should-a-docker-container-run-as-root-or-user) ps ou [docker](/blog/en/kubernetes/can-docker-connect-to-database) port si nous connaissons l’identifiant du conteneur.

Par exemple, en utilisant la commande [docker](/blog/en/kubernetes/how-do-i-connect-a-docker-bridged-container-to-the-outside-of-the-host) port <container_id>, nous pouvons découvrir le numéro de port hôte pour un conteneur qui écoute sur le port 8000.

$ docker port 302d30 8000/tcp -> 0.0.0.0:8888

Attribuer un numéro de port personnalisé

Nous pouvons attribuer un numéro de port personnalisé en spécifiant le flag -p suivi du mappage. Par exemple, [docker](/blog/en/kubernetes/how-to-use-local-docker-images-with-minikube) [run](/blog/en/kubernetes/how-to-run-minikube-in-a-virtual-machine-ubuntu-vm-vt-x-amd-v) -d -p 88:8000 <image_name> va mapper le port hôte 88 vers le port conteneur 8000.

$ docker run -d -p 88:8000 <image_name>

Nous pouvons vérifier le mappage en utilisant la commande [docker](/blog/en/kubernetes/docker/convert-docker-compose-to-kubernetes) ps.

$ docker ps CONTAINER ID   IMAGE          COMMAND              CREATED         STATUS         PORTS                    NAMES 302d30         <image_name>   "python app.py"      1 minute ago    Up 1 minute    0.0.0.0:8888->8000/tcp   gracious_mendeleev

Trouver l’adresse IP

Nous pouvons trouver l’adresse IP d’un conteneur en utilisant la commande [docker](/blog/en/building-microservices-with-docker-creating-a-product-service) inspect avec l’option format.

$ docker inspect --format '{{ .NetworkSettings.IPAddress }}' <container_id>
$ docker inspect --format '{{ .NetworkSettings.IPAddress }}' 302d30 172.17.0.2

Cependant, il faut se rappeler que les conteneurs ne devraient pas avoir d’adresses IP publiques. À la place, nous devrions utiliser le mappage de ports pour accéder aux services.

Conclusion

En conclusion, nous pouvons publier un serveur web à l’intérieur d’un conteneur Docker, le rendre public et y accéder depuis différents ordinateurs en maîtrisant le mappage de ports, le numéro de port à utiliser pour accéder au service et en exécutant quelques commandes.

You might also like these blog posts

Full Bright

Full Bright

A professional and sympathic business man.

Contact

Contact Us

To order one of our services, navigate to the order service page

Address

10 rue François 1er,
75008 Paris

Email Us

hello at bright-softwares dot com

Open Hours

Monday - Friday
9:00AM - 05:00PM