Publication de ports

Les ports d'un conteneur sont fermés au monde extérieur tant que tu ne les publies pas. -p 8080:80 redirige le port 8080 du serveur vers le port 80 du conteneur.

Comment ça marche

Le format est serveur:conteneur. Le port du serveur doit être libre : deux conteneurs ne peuvent pas publier le même. -p 127.0.0.1:5432:5432 ne publie que sur l'interface locale, si bien que seul le serveur lui-même peut se connecter. docker port liste les correspondances.

Ce qui casse

L'application doit écouter sur 0.0.0.0 dans le conteneur : un serveur lié à 127.0.0.1 reste injoignable même avec -p. Et publier le port d'une base sur 0.0.0.0 l'ouvre à Internet, souvent en passant à côté du pare-feu du serveur.

Dans un terminal

docker run -d --name web -p 8080:80 nginx:1.27
docker port web
curl http://localhost:8080

Regarde-le casser, puis répare-le

Écris le Dockerfile ou le fichier compose, tape les commandes docker, et regarde un serveur simulé les exécuter à travers redémarrages, mises à jour et trafic. Gratuit pour commencer.