Как да предадете променливи на околната среда в Docker контейнер

How Pass Environment Variables Docker Container



Docker е програма с отворен код, която изпълнява сървърни приложения, използвайки контейнери, а не виртуални машини. Docker е конфигурация за разработка и хостинг, която използва по -малко ресурси, така че не е изненада, че обхваща света на разработките. Променливите на средата на Docker са важни за тази процедура, тъй като съхраняват данни, които са уникални за всеки потребителски акаунт, който има достъп до софтуера.

Използвайки всяка съвременна JavaScript рамка за създаване на контейнер за едно приложение, може да откриете, че конфигурационните настройки варират в зависимост от това къде контейнерът ще се изпълни. Основният URL адрес за вашия API например може да варира в зависимост от това дали тествате или публикувате приложението. Променливите на околната среда обикновено се използват от разработчиците за справяне с този проблем, тъй като кодът работи на бекенда, там обикновено се използват променливи на средата.







По време на изграждането на изображението може да се наложи да предадем информация за околната среда на работния контейнер. За да направим това, използваме ENV и ARG команди. Командата ARG създава променлива, която може да бъде предоставена по време на процеса на изграждане. След като е дефиниран в Dockerfile, можете да използвате параметъра —build-arg, за да го предоставите на конструктора на изображения. В Dockerfile можем да имаме многобройни инструкции за ARG. В Dockerfile командата ARG е единствената, която може да дойде преди инструкцията FROM.



Инструкцията ENV обаче задава променливата на средата, която от своя страна определя средата за следващите инструкции за изграждане. Инструкцията ENV е достъпна по време на строителния процес, както и когато контейнерът е стартиран с флага —env. Не можем обаче да предадем ENV инструкцията, докато конструираме изображението. Директивата ARG има недостатък, че не може да продължи да съществува след създаването на изображението. За да предадем вградените данни за околната среда при създаването на изображението, ние просто ще използваме ENV и ARG. В това ръководство ще ви научим как да предавате променлива на среда в контейнер за docker.



Предварителни изисквания

За да предадете променливите на средата в контейнер за docker, трябва да имате инсталирана система Ubuntu 20.04 Linux. Също така не забравяйте да инсталирате актуалната версия на Docker във вашата система. В случай, че не присъства в системата, можете да извършите инсталацията му с помощта на цитираната по-долу команда.





$ sudo apt инсталирайте docker.io

В целия този урок използвахме ключовата дума Sudo, което означава, че трябва да имате привилегии за sudo, за да стартирате тази статия.



Метод за предаване на променливите на околната среда

За да предадете променливите на обкръжението в контейнер за docker, трябва да отворите терминала на командния ред, като използвате клавишната комбинация Ctrl+Alt+T или като го потърсите в менюто на приложението, като използвате неговата лента за търсене. Сега следвайте долупосочените стъпки:

Стъпка 1: Издърпайте изображението
В цялото ръководство ще използваме Alpine, малък (5MB) Linux образ. За да започнете, изтеглете изображението локално, като използвате следната добавена команда:

$ sudo docker pull alpine: 3

Изходът показва успешното изтегляне на изображението.

Стъпка 2: Преминаване на променливите на средата
Използвайки знака –env, можем да въвеждаме променливи на средата като двойки ключ-стойност направо в командния ред при стартиране на нашия Docker контейнер. Нека използваме следната приложена команда като илюстрация:

$ sudo docker run --env VARIABLE1 = foobar alpine: 3

Няма да има конкретен изход за тази команда.

Стъпка 3: Отразяване на променливите на средата
За да отразите променливите на средата, използвайте следната прикачена команда заедно с ключовата дума експортиране.

$ export VARIABLE2 = foobar2

Няма да има конкретен изход за тази команда.

Стъпка 4: Посочете променливите на средата
Сега, без да посочваме стойността на променливата на средата, нека определим променливата на околната среда, като използваме изброената по-долу команда в терминала:

$ sudo docker run --env VARIABLE2 alpine: 3 env

В изхода можете да видите, че променливата на средата е успешно предадена в контейнера на docker.

Заключение

В тази статия ние обсъдихме концепцията и значението на променливите на средата в docker. Също така, ние ви предоставихме стъпка по стъпка ръководство за предаване на променлива на среда в контейнер за docker. Надявам се, че няма да имате проблем, докато прехвърляте променливата на среда в контейнер за docker.