Un utilisateur de CasaOS a installé plusieurs applications web qui attendaient le port de conteneur 5000. Une seule application était accessible, car plusieurs conteneurs tentaient de publier le même port sur l’hôte Debian. La modification des deux côtés de la redirection a empêché certaines applications de répondre.
La règle est simple : laissez le port du conteneur inchangé, sauf si sa propre documentation indique que le port d’écoute est configurable. Modifiez uniquement le port côté hôte.
Lisez les redirections de ports Docker de gauche à droite
5001:5000
Dans cette redirection, 5001 est le port de l’hôte utilisé dans le navigateur et 5000 est le port sur lequel l’application écoute à l’intérieur du conteneur. Le guide officiel de publication des ports de Docker utilise le même modèle hôte-conteneur.
Redirigez deux applications utilisant le port 5000 vers des ports d’hôte différents
| Application | Port de l’hôte | Port du conteneur | Adresse dans le navigateur |
|---|---|---|---|
| MusicBrainz | 5001 | 5000 | http://SERVER-IP:5001 |
| HandBrake | 5002 | 5000 | http://SERVER-IP:5002 |
Chaque paire adresse IP de l’hôte et port doit être unique. Plusieurs conteneurs peuvent néanmoins écouter sur 5000 en interne, car leurs espaces de noms réseau sont isolés.
Pourquoi la modification du port du conteneur interrompt souvent l’interface web
Une image peut démarrer son serveur web sur un port interne fixe. Si CasaOS redirige le port hôte 5001 vers le port du conteneur 5001, alors que le processus écoute toujours sur 5000, Docker achemine le trafic vers un socket inutilisé. Le conteneur peut sembler fonctionner correctement, même si le navigateur ne reçoit aucune réponse.
Ne modifiez le port du conteneur que lorsque l’application en amont propose un paramètre ou une variable d’environnement documenté permettant également de modifier le port d’écoute du processus.
Modifiez le champ approprié dans CasaOS
- Ouvrez les paramètres de l’application ou la configuration d’installation personnalisée.
- Repérez l’entrée de port qui affiche les valeurs de l’hôte et du conteneur.
- Laissez la valeur du conteneur sur la valeur par défaut de l’image.
- Choisissez un port d’hôte inutilisé.
- Enregistrez, puis recréez ou redémarrez le conteneur comme indiqué.
- Ouvrez l’application via le nouveau port de l’hôte.
Vérifiez avant d’attribuer un nouveau port
Consultez la liste des applications CasaOS ou la configuration des conteneurs pour vérifier les redirections existantes. Tenez également compte des services installés directement sur Debian, car ils peuvent occuper le même port hôte sans apparaître comme une application CasaOS. Évitez d’attribuer des ports d’infrastructure courants tels que 22, 53, 80, 443 ou 445, sauf si vous comprenez le service existant.
Le réseau de l’hôte supprime cette flexibilité
En mode réseau de l’hôte, le conteneur partage l’espace de noms réseau de l’hôte et ne peut pas rediriger normalement un port d’écoute déjà utilisé. La documentation de Docker sur le réseau de l’hôte confirme qu’un seul service peut se lier à un port hôte donné.
FAQ sur les conflits de ports dans CasaOS
Quel numéro dois-je modifier ?
Modifiez le port de l’hôte, c’est-à-dire le premier nombre dans HOST:CONTAINER.
Toutes les applications peuvent-elles utiliser le port de conteneur 5000 ?
Oui, si chaque conteneur est isolé et que chacun publie un port hôte différent.
Pourquoi l’application s’est-elle installée sans s’ouvrir ?
La redirection pointe peut-être vers un port du conteneur sur lequel l’application n’écoute pas.
