Fermer

mars 29, 2021

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
  • Arrêter le conteneur
  • Inspecter le conteneur
    • docker inspecter envtest1
      • Notez que la TestKey fournie est répertoriée dans la section Config / Env.

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
  • Afficher les variables d'environnement
    • printenv
      • Notez que les variables TestKey fournies sont répertoriées
  • 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.

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
  • 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
  • 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
  • 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
  • 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.
  • 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