Docker

Port déjà utilisé (« port is already allocated »)

Grave Quelque chose ne fonctionne pas : à traiter maintenant.

Le message tel qu'il apparaît dans les logs :

Bind for 0.0.0.0:80 failed: port is already allocated

Ce que ça veut dire

Le conteneur veut écouter sur un port du serveur qui est déjà pris par un autre programme. Il ne peut pas démarrer.

Pourquoi ça arrive

  • Un serveur web (Apache, Nginx) installé directement sur le système occupe déjà les ports 80 et 443.
  • Deux applications utilisent le même port dans leur compose.yml.
  • Un ancien conteneur tourne encore.

Comment corriger

  1. Trouvez qui occupe le port (ici 80) :

    sudo ss -tlnp | grep ':80 '
  2. Si c'est Apache ou Nginx installé sur le système et que vous ne vous en servez pas, arrêtez-le :

    sudo systemctl disable --now apache2 nginx
  3. Si c'est une autre application, changez le premier nombre de la ligne ports (port du serveur) dans son compose.yml, par exemple 8081:80, puis :

    sudo docker compose up -d

Pour aller plus loin

Vous avez d'autres messages dans vos logs ?

Collez-les dans le décodeur : il reconnaît les erreurs connues et vous dit lesquelles sont graves. Tout reste dans votre navigateur.

Analyser mes logs