⚠️ Traduction non officielle - Cette documentation est une traduction communautaire non officielle de Docker.

Définir ou modifier les variables d'environnement prédéfinies dans Docker Compose

Compose est déjà livré avec des variables d'environnement prédéfinies. Il hérite également des variables d'environnement Docker CLI communes, telles que DOCKER_HOST et DOCKER_CONTEXT. Voir Référence des variables d'environnement Docker CLI pour plus de détails.

Cette page contient des informations sur la façon dont vous pouvez définir ou modifier les variables d'environnement prédéfinies suivantes si vous en avez besoin :

  • COMPOSE_PROJECT_NAME
  • COMPOSE_FILE
  • COMPOSE_PROFILES
  • COMPOSE_CONVERT_WINDOWS_PATHS
  • COMPOSE_PATH_SEPARATOR
  • COMPOSE_IGNORE_ORPHANS
  • COMPOSE_REMOVE_ORPHANS
  • COMPOSE_PARALLEL_LIMIT
  • COMPOSE_ANSI
  • COMPOSE_STATUS_STDOUT
  • COMPOSE_ENV_FILES
  • COMPOSE_MENU
  • COMPOSE_EXPERIMENTAL
  • COMPOSE_PROGRESS

Méthodes pour remplacer

Vous pouvez définir ou modifier les variables d'environnement prédéfinies :

Lors de la modification ou de la définition de variables d'environnement, soyez conscient de la priorité des variables d'environnement.

Configurer

COMPOSE_PROJECT_NAME

Définit le nom du projet. Cette valeur est ajoutée en préfixe avec le nom du service au nom du conteneur au démarrage.

Par exemple, si votre nom de projet est myapp et qu'il inclut deux services db et web, alors Compose démarre des conteneurs nommés myapp-db-1 et myapp-web-1 respectivement.

Compose peut définir le nom du projet de différentes manières. Le niveau de priorité (du plus élevé au plus bas) pour chaque méthode est le suivant :

  1. Le drapeau de ligne de commande -p
  2. COMPOSE_PROJECT_NAME
  3. La variable de niveau supérieur name: du fichier de configuration (ou le dernier name: d'une série de fichiers de configuration spécifiés avec -f)
  4. Le basename du répertoire du projet contenant le fichier de configuration (ou contenant le premier fichier de configuration spécifié avec -f)
  5. Le basename du répertoire courant si aucun fichier de configuration n'est spécifié

Les noms de projet ne doivent contenir que des lettres minuscules, des chiffres décimaux, des tirets et des traits de soulignement, et doivent commencer par une lettre minuscule ou un chiffre décimal. Si le basename du répertoire du projet ou du répertoire courant viole cette contrainte, vous devez utiliser l'un des autres mécanismes.

Voir aussi aperçu des options de ligne de commande et utiliser -p pour spécifier un nom de projet.

COMPOSE_FILE

Spécifie le chemin vers un fichier Compose. La spécification de plusieurs fichiers Compose est prise en charge.

  • Comportement par défaut : Si non fourni, Compose cherche un fichier nommé compose.yaml dans le répertoire courant et, s'il n'est pas trouvé, alors Compose recherche chaque répertoire parent récursivement jusqu'à ce qu'un fichier de ce nom soit trouvé.
  • Lors de la spécification de plusieurs fichiers Compose, les séparateurs de chemin sont, par défaut, sur :
    • Mac et Linux : : (deux-points)

    • Windows : ; (point-virgule) Par exemple :

      COMPOSE_FILE=compose.yaml:compose.prod.yaml
      
    Le séparateur de chemin peut également être personnalisé en utilisant COMPOSE_PATH_SEPARATOR.

Voir aussi aperçu des options de ligne de commande et utiliser -f pour spécifier le nom et le chemin d'un ou plusieurs fichiers Compose.

COMPOSE_PROFILES

Spécifie un ou plusieurs profils à activer lorsque docker compose up est exécuté.

Les services avec des profils correspondants sont démarrés ainsi que tous les services pour lesquels aucun profil n'a été défini.

Par exemple, appeler docker compose up avec COMPOSE_PROFILES=frontend sélectionne les services avec le profil frontend ainsi que tous les services sans profil spécifié.

Si plusieurs profils sont spécifiés, utilisez une virgule comme séparateur.

L'exemple suivant active tous les services correspondant aux profils frontend et debug et les services sans profil.

COMPOSE_PROFILES=frontend,debug

Voir aussi Utiliser les profils avec Compose et l'option de ligne de commande --profile.

COMPOSE_CONVERT_WINDOWS_PATHS

Lorsqu'activé, Compose effectue une conversion de chemin de style Windows vers style Unix dans les définitions de volume.

  • Valeurs prises en charge :
    • true ou 1, pour activer
    • false ou 0, pour désactiver
  • Par défaut : 0

COMPOSE_PATH_SEPARATOR

Spécifie un séparateur de chemin différent pour les éléments listés dans COMPOSE_FILE.

  • Par défaut :
    • Sur macOS et Linux à :
    • Sur Windows à ;

COMPOSE_IGNORE_ORPHANS

Lorsqu'activé, Compose n'essaie pas de détecter les conteneurs orphelins pour le projet.

  • Valeurs prises en charge :
    • true ou 1, pour activer
    • false ou 0, pour désactiver
  • Par défaut : 0

COMPOSE_REMOVE_ORPHANS

Lorsqu'activé, Compose supprime automatiquement les conteneurs orphelins lors de la mise à jour d'un service ou d'une pile. Les conteneurs orphelins sont ceux qui ont été créés par une configuration précédente mais ne sont plus définis dans le fichier compose.yaml actuel.

  • Valeurs prises en charge :
    • true ou 1, pour activer la suppression automatique des conteneurs orphelins
    • false ou 0, pour désactiver la suppression automatique. Compose affiche un avertissement à propos des conteneurs orphelins à la place.
  • Par défaut : 0

COMPOSE_PARALLEL_LIMIT

Spécifie le niveau maximum de parallélisme pour les appels de moteur concurrents.

COMPOSE_ANSI

Spécifie quand imprimer les caractères de contrôle ANSI.

  • Valeurs prises en charge :
    • auto, Compose détecte si le mode TTY peut être utilisé. Sinon, utilise le mode texte brut
    • never, utilise le mode texte brut
    • always ou 0, utilise le mode TTY
  • Par défaut : auto

COMPOSE_STATUS_STDOUT

Lorsqu'activé, Compose écrit ses messages de statut internes et de progression vers stdout au lieu de stderr. La valeur par défaut est false pour séparer clairement les flux de sortie entre les messages Compose et les logs de votre conteneur.

  • Valeurs prises en charge :
    • true ou 1, pour activer
    • false ou 0, pour désactiver
  • Par défaut : 0

COMPOSE_ENV_FILES

Vous permet de spécifier quels fichiers d'environnement Compose doit utiliser si --env-file n'est pas utilisé.

Lors de l'utilisation de plusieurs fichiers d'environnement, utilisez une virgule comme séparateur. Par exemple :

COMPOSE_ENV_FILES=.env.envfile1, .env.envfile2

Si COMPOSE_ENV_FILES n'est pas défini, et que vous ne fournissez pas --env-file dans la CLI, Docker Compose utilise le comportement par défaut, qui est de chercher un fichier .env dans le répertoire du projet.

COMPOSE_MENU

Requires: Docker Compose 2.26.0 and later

Lorsqu'activé, Compose affiche un menu de navigation où vous pouvez choisir d'ouvrir la pile Compose dans Docker Desktop, activer le mode watch, ou utiliser Docker Debug.

  • Valeurs prises en charge :
    • true ou 1, pour activer
    • false ou 0, pour désactiver
  • Par défaut : 1 si vous avez obtenu Docker Compose via Docker Desktop, sinon le défaut est 0

COMPOSE_EXPERIMENTAL

Requires: Docker Compose 2.26.0 and later

Cette variable est d'opt-out. Lorsqu'elle est désactivée, elle désactive les fonctionnalités expérimentales telles que le menu de navigation ou Partages de fichiers synchronisés.

  • Valeurs prises en charge :
    • true ou 1, pour activer
    • false ou 0, pour désactiver
  • Par défaut : 1

COMPOSE_PROGRESS

Requires: Docker Compose 2.36.0 and later

Définit le type de sortie de progression, si --progress n'est pas utilisé.

Les valeurs prises en charge sont auto, tty, plain, json, et quiet. Par défaut est auto.

Non pris en charge dans Compose V2

Les variables d'environnement suivantes n'ont aucun effet dans Compose V2. Pour plus d'informations, voir Migrer vers Compose V2.

  • COMPOSE_API_VERSION Par défaut, la version de l'API est négociée avec le serveur. Utilisez DOCKER_API_VERSION.
    Voir la page Référence des variables d'environnement Docker CLI.
  • COMPOSE_HTTP_TIMEOUT
  • COMPOSE_TLS_VERSION
  • COMPOSE_FORCE_WINDOWS_HOST
  • COMPOSE_INTERACTIVE_NO_CLI
  • COMPOSE_DOCKER_CLI_BUILD Utilisez DOCKER_BUILDKIT pour sélectionner entre BuildKit et le constructeur classique. Si DOCKER_BUILDKIT=0 alors docker compose build utilise le constructeur classique pour construire les images.