Използвайки всяка съвременна 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 образ. За да започнете, изтеглете изображението локално, като използвате следната добавена команда:
Изходът показва успешното изтегляне на изображението.
Стъпка 2: Преминаване на променливите на средата
Използвайки знака –env, можем да въвеждаме променливи на средата като двойки ключ-стойност направо в командния ред при стартиране на нашия Docker контейнер. Нека използваме следната приложена команда като илюстрация:
Няма да има конкретен изход за тази команда.
Стъпка 3: Отразяване на променливите на средата
За да отразите променливите на средата, използвайте следната прикачена команда заедно с ключовата дума експортиране.
Няма да има конкретен изход за тази команда.
Стъпка 4: Посочете променливите на средата
Сега, без да посочваме стойността на променливата на средата, нека определим променливата на околната среда, като използваме изброената по-долу команда в терминала:
В изхода можете да видите, че променливата на средата е успешно предадена в контейнера на docker.
Заключение
В тази статия ние обсъдихме концепцията и значението на променливите на средата в docker. Също така, ние ви предоставихме стъпка по стъпка ръководство за предаване на променлива на среда в контейнер за docker. Надявам се, че няма да имате проблем, докато прехвърляте променливата на среда в контейнер за docker.