Comment transmettre des variables d'environnement à un conteneur docker

Comment transmettre des variables d'environnement à un conteneur docker
Docker est un programme open-source qui exécute des applications de serveur à l'aide de conteneurs plutôt que de machines virtuelles. Docker est une configuration de développement et d'hébergement qui utilise moins de ressources, il n'est donc pas surprenant qu'elle balaie le monde du développement. Les variables de l'environnement Docker sont importantes pour cette procédure car elles stockent des données propres à chaque compte d'utilisateur accédant au logiciel.

En utilisant n'importe quel framework JavaScript moderne pour créer un conteneur pour une seule application, vous pouvez découvrir que les paramètres de configuration varient en fonction de l'endroit où le conteneur s'exécutera. L'URL de base de votre API, par exemple, peut varier en fonction de la question de savoir si vous testez ou publiez l'application. Les variables d'environnement sont couramment utilisées par les développeurs pour résoudre ce problème car le code fonctionne sur le backend, les variables d'environnement y sont généralement utilisées.

Pendant la construction d'images, nous devrons peut-être transmettre des informations sur l'environnement au conteneur de fonctionnement. Pour ce faire, nous utilisons les commandes Env et Arg. La commande arg crée une variable qui peut être fournie pendant le processus de construction. Une fois qu'il est défini dans le dockerfile, vous pouvez utiliser le paramètre -build-arg pour le fournir au générateur d'image. Dans le dockerfile, nous pouvons avoir de nombreuses instructions ARG. Dans le dockerfile, la commande arg est la seule qui peut venir avant l'instruction.

Cependant, l'instruction ENV définit la variable d'environnement, qui à son tour spécifie l'environnement pour les instructions de construction qui suivent. L'instruction env est accessible pendant le processus de construction ainsi que lorsque le conteneur est démarré avec le drapeau -env. Cependant, nous ne sommes pas en mesure de passer l'instruction ENV lors de la construction de l'image. La directive ARG a l'inconvénient de ne pas pouvoir persister après la construction de l'image. Pour transmettre les données de l'environnement en ligne lors de la création de l'image, nous utiliserons simplement à la fois Env et Arg. Dans ce guide, nous vous apprendrons à passer une variable d'environnement à un conteneur Docker.

Conditions préalables

Pour passer les variables environnementales à un conteneur Docker, vous devez avoir Ubuntu 20.04 Système Linux installé. Assurez-vous également d'installer la version à jour de Docker sur votre système. Dans le cas où il n'est pas présent dans le système, vous pouvez faire son installation en utilisant la commande ci-dessous.

$ sudo apt install docker.Io

Dans tout ce tutoriel, nous avons utilisé le mot-clé «sudo» qui signifie que vous devez avoir des privilèges sudo pour exécuter cet article.

Méthode pour passer les variables environnementales

Pour passer les variables d'environnement à un conteneur Docker, vous devez ouvrir le terminal de la ligne de commande en utilisant la clé de raccourci de «Ctrl + Alt + T» ou en la recherchant dans le menu de l'application en utilisant sa barre de recherche. Maintenant, suivez les étapes ci-dessous:

Étape 1: Tirez l'image
Tout au long de ce guide, nous utiliserons Alpine, une petite image Linux (5 Mo). Pour commencer, téléchargez l'image localement en utilisant la commande annexe suivante:

$ sudo docker tire alpine: 3

La sortie montre l'image réussie tirant.

Étape 2: Passer des variables d'environnement
En utilisant le drapeau -env, nous pouvons saisir des variables d'environnement à mesure que la valeur clé se marie directement dans l'invite de commande lors du lancement de notre conteneur Docker. Utilisons la commande annexe suivante comme illustration:

$ sudo docker run --env variable1 = foobar Alpine: 3

Il n'y aura pas de sortie spécifique pour cette commande.

Étape 3: refléter les variables d'environnement
Pour refléter les variables d'environnement, utilisez la commande annexe suivante avec le mot-clé «exportation».

$ Export Variable2 = FOOBAR2

Il n'y aura pas de sortie spécifique pour cette commande.

Étape 4: Spécifiez les variables d'environnement
Maintenant, sans spécifier la valeur de la variable d'environnement, définissons la variable d'environnement en utilisant la commande ci-dessous dans le terminal:

$ sudo docker run --env variable2 Alpine: 3 env

Dans la sortie, vous pouvez voir que la variable d'environnement a été transmise avec succès au conteneur Docker.

Conclusion

Dans cet article, nous avons délibéré le concept et l'importance des variables environnementales dans Docker. De plus, nous vous avons fourni le guide étape par étape pour passer une variable d'environnement à un conteneur Docker. J'espère que vous n'aurez aucun problème en passant la variable d'environnement à un conteneur Docker.