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 interne80exposé. Les conteneursnginx-aetnginx-bsont accessibles sur la machine hôte sur les ports8080et8888. Le conteneurnginx-cn'a pas son port80publié, il n'est donc pas accessible.