Jak przekazać zmienne środowiskowe do kontenera Docker

Jak przekazać zmienne środowiskowe do kontenera Docker
Docker to program open source, który wykonuje aplikacje serwerowe za pomocą kontenerów, a nie maszyn wirtualnych. Docker to konfiguracja programistyczna i hostingowa, która wykorzystuje mniej zasobów, więc nie jest zaskoczeniem, że zamiatuje świat rozwoju. Zmienne środowiskowe Docker są znaczące dla tej procedury, ponieważ przechowują dane, które są unikalne dla każdego konta użytkownika uzyskującego dostęp do oprogramowania.

Korzystanie z dowolnego nowoczesnego frameworka JavaScript do utworzenia kontenera dla jednej aplikacji, możesz odkryć, że ustawienia konfiguracji różnią się w zależności. Na przykład podstawowy adres URL dla twojego interfejsu API może się różnić w zależności od tego, czy testujesz, czy publikujesz aplikację. Zmienne środowiskowe są powszechnie używane przez programistów do rozwiązania tego problemu, ponieważ kod działa na zapleczu, zwykle używane są zmienne środowiskowe.

Podczas budowy obrazu może być konieczne przekazanie informacji o środowisku do operacyjnego pojemnika. Aby to zrobić, używamy zarówno poleceń ENV, jak i arg. Polecenie ARG tworzy zmienną, którą można dostarczyć podczas procesu kompilacji. Po zdefiniowaniu w pliku Docker. W DockerFile możemy mieć liczne instrukcje ARG. W DockerFile polecenie arg jest jedynym, które może pojawić się przed instrukcją.

Jednak instrukcja ENV ustawia zmienną środowiskową, która z kolei określa środowisko dla następujących instrukcji budowy. Instrukcja ENV jest dostępna podczas procesu budowy, a także po uruchomieniu kontenera z flagą -env. Jednak nie jesteśmy w stanie przekazać instrukcji ENV podczas konstruowania obrazu. Dyrektywa ARG ma wadę niezdolnej do utrzymania po zbudowaniu obrazu. Aby przekazać dane środowiska w linii podczas tworzenia obrazu, po prostu wykorzystamy zarówno Env, jak i Arg. W tym przewodniku nauczymy Cię, jak przekazać zmienną środowiskową do kontenera Docker.

Wymagania wstępne

Aby przekazać zmienne środowiskowe do kontenera Docker, musisz mieć Ubuntu 20.04 Zainstalowany system Linux. Upewnij się również, że zainstaluj aktualną wersję Docker w systemie. W przypadku, gdy nie jest obecny w systemie, możesz wykonać jego instalację, używając poniżej cytowanego polecenia.

$ sudo apt instal instaluj Docker.io

W tym całym samouczku użyliśmy słowa kluczowego „sudo”, co oznacza, że ​​musisz mieć przywileje sudo, aby uruchomić ten artykuł.

Metoda przekazywania zmiennych środowiskowych

Aby przekazać zmienne środowiskowe do kontenera Docker, musisz otworzyć terminal wiersza poleceń za pomocą klawisza skrótów „Ctrl+alt+t” lub przeszukując go w menu aplikacji za pomocą paska wyszukiwania. Teraz postępuj zgodnie z poniższymi krokami:

Krok 1: Pull Image
W tym przewodniku będziemy używać alpine, małego (5 MB) obrazu Linux. Aby rozpocząć, pobierz obraz lokalnie za pomocą następujące dołączone polecenie:

$ sudo Docker Pull Alpine: 3

Wyjście pokazuje udane pobieranie obrazu.

Krok 2: Przekazywanie zmiennych środowiskowych
Korzystając z flagi -env, możemy wprowadzać zmienne środowiskowe jako parę wartości klucza w wierszu polecenia podczas uruchamiania naszego kontenera Docker. Użyjmy następującego dołączonego polecenia jako ilustracji:

$ sudo Docker Run --env zmienna1 = foobar alpine: 3

Nie będzie konkretnego wyjścia dla tego polecenia.

Krok 3: Odtwarzanie zmiennych środowiskowych
Aby odzwierciedlić zmienne środowiskowe, użyj następującego dołączonego polecenia wraz z słowem kluczowym „Eksportem”.

$ Export Varible2 = foobar2

Nie będzie konkretnego wyjścia dla tego polecenia.

Krok 4: Określ zmienne środowiskowe
Teraz, bez określenia wartości zmiennej środowiska, zdefiniujmy zmienną środowiskową za pomocą komendy poniżej listy w terminalu:

$ sudo docker run -env zmienna 2 alpine: 3 env

W wyjściu widać, że zmienna środowiskowa została pomyślnie przekazana do kontenera Docker.

Wniosek

W tym artykule rozważaliśmy koncepcję i znaczenie zmiennych środowiskowych w Docker. Dostaliśmy również przewodnik krok po kroku do przekazania zmiennej środowiska do kontenera Docker. Mam nadzieję, że nie będziesz miał problemu podczas przekazywania zmiennej środowiska do kontenera Docker.