Docker Bootcamp – Variables d'environnement

Bienvenue à nouveau dans Docker Bootcamp . Dans cet article, nous aborderons l'utilisation des variables d'environnement. Ces variables spéciales vous permettent de modifier l’exécution de l’application à l’intérieur du conteneur sans modifier les fichiers de l’application. Chaque fois que vous créez un conteneur à partir de la même image, vous pouvez transmettre des valeurs différentes pour les variables d'environnement.
- Variable d'environnement – Une paire clé-valeur utilisée pour modifier les paramètres d'un programme sans modifier les fichiers du programme. [19659005] create – Créer un nouveau conteneur dans un état arrêté
- run – Créer et démarrer un nouveau conteneur
Vous pouvez trouver une liste complète des commandes et tous les indicateurs disponibles sur https: //docs.docker.com/engine/reference/commandline/docker/[19459006 unity.
–env | -e | O | Définir une variable d'environnement |
–env-file | O | Lire un fichier contenant une ou plusieurs variables d'environnement |
- Si une variable d'environnement a une valeur par défaut fournie par l'image, la transmission d'une valeur pour la même clé remplacera la valeur par défaut.
- Vous pouvez injecter n'importe quelle variable d'environnement dans un conteneur, même si le programme ne répond pas à cette variable .
run
docker run [options] image [command] [args…]
–detach | -d | O | Exécuter le conteneur en mode détaché (pas d'entrée / sortie de console) |
- Voir «créer» détails de la commande pour les autres options disponibles
Passer une seule variable
- Créer, démarrer et exécuter un conteneur interactif avec une variable d'environnement
- docker run -it –env TestKey = TestVal –name envtest1 busybox / bin / sh
- Afficher les variables d'environnement
- printenv
- Notez que la variable TestKey fournie est répertoriée
- printenv
- Arrêter le conteneur
- Inspecter le conteneur
- docker inspecter envtest1
- Notez que la TestKey fournie est répertoriée dans la section Config / Env.
- docker inspecter envtest1
Passez un fichier de variables
- Créez un fichier texte avec plusieurs paires clé = valeur nommées env.txt
- TestKey1 = TestValue1
- TestKey2 = TestValue2
- TestKey3 = TestValue3
- Créer, démarrer et exécuter un conteneur interactif qui lit les variables d'environnement à partir d'un fichier
- docker run -it –env-file
–name envtest2 busybox / bin / sh
- docker run -it –env-file
- Afficher les variables d'environnement
- printenv
- Notez que les variables TestKey fournies sont répertoriées
- printenv
- Arrêter le conteneur
- Inspecter le conteneur
- docker inspecter envtest2
- Notez que les variables TestKey fournies sont répertoriées dans la section Config / Env.
- docker inspecter envtest2
Real-World Environment Variables
- Afficher la page des détails de l'image pour la base de données MySql sur le hub docker
- Créer, démarrer et exécuter un conteneur détaché
- docker run -d –name mysqltest1 mysql
- Remarquez que le conteneur sort immédiatement
- docker run -d –name mysqltest1 mysql
- Afficher les journaux du docker
- docker enregistre mysqltest1
- Notez l'erreur indiquant que nous devons fournir au moins une des variables d'environnement spécifiées
- docker enregistre mysqltest1
- Créer, démarrer et exécuter un conteneur détaché avec la variable d'environnement requise
- docker run -d –env MYSQL_ROOT_PASSWORD = my-secret-pw –name mysqltest2 mysql
- Remarquez que le conteneur fonctionne comme prévu
- docker run -d –env MYSQL_ROOT_PASSWORD = my-secret-pw –name mysqltest2 mysql
- Afficher les journaux du docker
- docker enregistre mysqltest2
- Notez que l'application est en cours d'exécution et produit des journaux comme prévu
- docker enregistre mysqltest2
- Inspecter le conteneur
- docker inspecte mysqltest2
- Notez que la variable MYSQL_ROOT_PASSWORD est affichée
- Notez que les autres variables d'environnement disponibles sur la page de détails de l'image ne sont pas répertoriées. Assurez-vous de vous référer à la documentation de l'image chaque fois que vous utilisez une nouvelle image avec laquelle vous n'êtes pas familier.
- docker inspecte mysqltest2
- Arrêter le conteneur
Restez à l'écoute pour un prochain article où nous passerons des données sensibles dans des variables d'environnement de manière sécurisée. Jusque-là, heureux conteneurs!
Source link