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 :
- Avec un
fichier
.env
situé dans votre répertoire de travail - Depuis la ligne de commande
- Depuis votre shell
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 :
- Le drapeau de ligne de commande
-p
COMPOSE_PROJECT_NAME
- La variable de niveau supérieur
name:
du fichier de configuration (ou le derniername:
d'une série de fichiers de configuration spécifiés avec-f
) - Le
basename
du répertoire du projet contenant le fichier de configuration (ou contenant le premier fichier de configuration spécifié avec-f
) - 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
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
ou1
, pour activerfalse
ou0
, 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 à
;
- Sur macOS et Linux à
COMPOSE_IGNORE_ORPHANS
Lorsqu'activé, Compose n'essaie pas de détecter les conteneurs orphelins pour le projet.
- Valeurs prises en charge :
true
ou1
, pour activerfalse
ou0
, 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
ou1
, pour activer la suppression automatique des conteneurs orphelinsfalse
ou0
, 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 brutnever
, utilise le mode texte brutalways
ou0
, 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
ou1
, pour activerfalse
ou0
, 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
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
ou1
, pour activerfalse
ou0
, pour désactiver
- Par défaut :
1
si vous avez obtenu Docker Compose via Docker Desktop, sinon le défaut est0
COMPOSE_EXPERIMENTAL
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
ou1
, pour activerfalse
ou0
, pour désactiver
- Par défaut :
1
COMPOSE_PROGRESS
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. UtilisezDOCKER_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
UtilisezDOCKER_BUILDKIT
pour sélectionner entre BuildKit et le constructeur classique. SiDOCKER_BUILDKIT=0
alorsdocker compose build
utilise le constructeur classique pour construire les images.