[Docker-compose] Différence entre env_file et environnement. À propos de la priorité de l'application de variable d'environnement

Ceci est un mémo personnel.

L'env_file et l'environnement sont tous deux dans docker-compose.yml et ** spécifient les variables d'environnement ** lors de l'exécution.


## Différence entre env_file et environnement

-La méthode de lecture et de définition des variables d'environnement est différente.

env_file ** lit le fichier contenant les variables d'environnement **.

Pour l'environnement, ** décrivez les variables directement dans docker-compose.yml **.

env_exemple de fichier


env_file: 
  - .env
  - .env.prd
  - .env.local.aws
  - ./common.env
  - ./apps/web.env

exemple d'environnement


environment:
  - NODE_ENV=development
  - PORT=80
  - MIGRATE=true
  - USER=${USER}
  - AWS_REGION=ap-northeast-1

### ・ Différentes priorités

Si la même variable d'environnement est spécifiée pour chacun, ** le paramètre d'environnement est prioritaire sur env_file **.

Si plusieurs fichiers sont spécifiés dans env_file ou si plusieurs variables dupliquées sont spécifiées dans l'environnement, ** le dernier a la priorité **.

Si l'hôte a un jeu de variables d'environnement, cette valeur est prioritaire.

·Priorité:

Étant donné que la variable d'environnement hôte a la priorité la plus élevée, si la variable d'environnement hôte est appliquée, il est nécessaire de modifier le nom de la variable d'environnement du côté docker.


env_file

Le chemin du fichier spécifié par env_file est basé sur le répertoire dans lequel docker-compose est exécuté.

** ▼ Comment spécifier un fichier **

  1. Lorsqu'il n'y a qu'un seul fichier env_file: .env
  2. Lorsqu'il y a plusieurs fichiers (même un)

En cas de multiple


env_file:
  - .env
  - .env.prd
  - .env.local.aws
  - ./common.env
  - ./apps/web.env

Dans un cas


env_file:
  - .env

** ▼ Il existe plusieurs façons de nommer les fichiers **

nom de fichier Contenu
.env Nom de fichier par défaut
.env.local.aws Diriger.env est attaché
common.env derrière.env est attaché
./apps/web.env Fichiers dans la hiérarchie inférieure

Recommended Posts

[Docker-compose] Différence entre env_file et environnement. À propos de la priorité de l'application de variable d'environnement
Différence entre la variable d'instance et la variable de classe
[Java] Différence entre l’affectation d’une variable de type de base et l’affectation d’une variable de type de référence
Différence entre la variable d'instance Ruby et la variable locale
Différence entre isEmpty et isBlank de StringUtils
Différence entre le membre et la collection de rails routes.rb
[Java] Différence entre "variable finale" et "objet immuable"
Différence entre vh et%
Différence entre i ++ et ++ i
Différence entre produit et variante
Différence entre redirect_to et render
[Java] Différence entre == et égal
Différence entre redirect_to et render
Différence entre CUI et GUI
Je vais expliquer la différence entre le développement d'applications Android et le développement d'applications iOS du point de vue des ingénieurs iOS
Différence entre les variables et les variables d'instance
Différence entre mockito-core et mockito-all
Différence entre classe et instance
Différence entre l'installation de bundle et de bundle
Différence entre ArrayList et LinkedList
Différence entre render et redirect_to
Différence entre List et ArrayList
Différence entre .bashrc et .bash_profile
Différence entre StringBuilder et StringBuffer
Différence entre render et redirect_to
[Java] Différence entre l'erreur de débordement de pile et l'erreur de mémoire insuffisante
Quelle est la différence entre un serveur Web et un serveur d'applications?
Différence entre l'étiquette d'interface utilisateur par habillage de caractères et par habillage de mots dans l'affichage japonais
Différence entre la méthode d'instance et la méthode de classe
Différence entre interface et classe abstraite
Différence entre l'opérateur == et la méthode égale
[Java] Différence entre Hashmap et HashTable
[Terminal] Différence entre irb et pry
JavaServlet: différence entre executeQuery et executeUpdate
[Ruby] Différence entre is_a? Et instance_of?
Différence entre l'opérateur == et la méthode eqals
Différence approximative entre RSpec et minitest
[Rails] Différence entre find et find_by
[JAVA] Différence entre abstrait et interface
Différence entre Thymeleaf @RestController et @Controller
Différence entre Stream map et flatMap
[Java] Différence entre array et ArrayList
Différence entre le type primitif et le type de référence
Application des méthodes downcase et slice
Différence entre string.getByte () et Hex.decodeHex (string.toCharaArray ())
[Java] Différence entre fermable et fermable automatiquement
[Java] Différence entre StringBuffer et StringBuilder
[Java] Différence entre longueur, longueur () et taille ()
[rails] Différence entre redirect_to et render
[Android] Différence entre finish () et return;
Comment utiliser les fichiers args:, environment:, env_file: et .env avec la commande docker-compose
Remarque: Différence entre Ruby "p" et "met"
Différence entre final et immuable en Java
[Remarque] Différence entre l'installation et la mise à jour du bundle