14/03/2024

1. Ports

Lu 951 fois Licence Creative Commons

NGINX est un serveur web. Un conteneur NGINX doit donc permettre d'accéder à ce serveur via HTTP sur le port 80.

Accéder à l'adresse http://127.0.0.1:80.
Résultat ? "La connexion a échoué"


Publier des ports exposés

Par défaut, un conteneur n'est pas ouvert vers l'extérieur, il est isolé. Cela évite par exemple qu'il entre en conflit avec un serveur web installé sur la machine hôte.


Lors du démarrage, on peut indiquer de publier tous les ports exposés par le conteneur à la machine hôte avec l'option -P. La méthode plus conventionnelle consiste à indiquer une correspondance entre les ports de l'hôte et ceux du conteneur avec l'option -p port-hote:port-conteneur:

docker run -d --name web-srv -p 8080:80 nginx:latest

Le serveur web est désormais accessible à l'addresse http://127.0.0.1:8080.

Exemple:

Les 3 conteneurs NGINX ont le port interne 80 exposé. Les conteneurs nginx-a et nginx-b sont accessibles sur la machine hôte sur les ports 8080 et 8888. Le conteneur nginx-c n'a pas son port 80 publié, il n'est donc pas accessible.