Identifier le service avant de l’arrêter
Listez les conteneurs actifs et leurs ports publiés. Cherchez le côté hôte d’une correspondance comme 8080->80/tcp. Sous Linux, ss -ltnp liste aussi les écoutes TCP ; certains détails exigent des privilèges adaptés.
docker ps --format 'table {{.Names}}\t{{.Ports}}'Une liste de conteneurs vide ne prouve pas que le port est libre : un programme de l’hôte peut l’occuper. Vérifiez aussi l’adresse et le protocole. Identifiez le service et son rôle avant de l’arrêter.
Choisir un port hôte disponible
Pour cet exemple web temporaire, vérifiez que le port hôte 8081 est libre et que le nom devsheet-web est inutilisé. L’exemple utilise l’adresse de bouclage de l’hôte et lance nginx au premier plan.
docker run --rm --name devsheet-web -p 127.0.0.1:8081:80 nginxLa correspondance est HOST_IP:HOST_PORT:CONTAINER_PORT. Seul le port hôte passe à 8081 ; nginx écoute toujours sur le port interne 80. Testez depuis un autre terminal. Ctrl+C arrête cet exemple et --rm supprime son conteneur.
Modifier la correspondance dans Compose
Dans votre fichier Compose, modifiez l’entrée ports du service prévu en 127.0.0.1:8081:80, après vérification du port. Recréez ce service pour appliquer la modification ; remplacez web par son vrai nom.
docker compose ps
docker compose up -d webUn simple redémarrage n’applique pas une nouvelle correspondance de ports. Vérifiez le projet Compose avant de recréer le service et préservez montages et données. Arrêter des conteneurs sans rapport peut interrompre d’autres services.
Vérifier le service publié
Contrôlez la correspondance active et envoyez une requête HTTP au port hôte choisi. L’exemple nginx devrait répondre ; d’autres applications peuvent mettre du temps à démarrer.
docker ps --format 'table {{.Names}}\t{{.Ports}}'
curl --head http://127.0.0.1:8081/Si le conflit persiste, revérifiez adresse, port et protocole, y compris les écoutes IPv4 et IPv6. Une erreur HTTP après connexion diffère d’un échec de liaison du port. Consultez les journaux et la configuration du service concerné.