Docker

Variable non définie (« variable is not set. Defaulting to a blank string »)

Grave Quelque chose ne fonctionne pas : à traiter maintenant.

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

WARN[0000] The "DB_PASSWORD" variable is not set. Defaulting to a blank string.

Ce que ça veut dire

Le compose.yml utilise une valeur ${DB_PASSWORD} qui doit venir du fichier .env, mais Docker ne l'y trouve pas. L'application démarre avec un mot de passe vide.

Pourquoi ça arrive

  • Le fichier .env n'est pas dans le même dossier que le compose.yml.
  • Vous lancez docker compose depuis un autre dossier.
  • Un mot de passe contient un $ : Docker croit que c'est une variable. Doublez-le ($$).

Comment corriger

  1. Placez-vous dans le dossier de l'application et vérifiez que le .env est là :

    cd /opt/stacks/<application>
    ls -la .env
    sudo docker compose config | grep -i password

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