Omgevingsvariabelen doorgeven aan een Docker-container

How Pass Environment Variables Docker Container



Docker is een open-sourceprogramma dat servertoepassingen uitvoert met containers in plaats van virtuele machines. Docker is een ontwikkelings- en hostingconfiguratie die minder bronnen gebruikt, dus het is geen verrassing dat het de ontwikkelingswereld verovert. Docker-omgevingsvariabelen zijn belangrijk voor deze procedure omdat ze gegevens opslaan die uniek zijn voor elk gebruikersaccount dat toegang heeft tot de software.

Als u een modern JavaScript-framework gebruikt om een ​​container voor een enkele app te maken, kunt u ontdekken dat de configuratie-instellingen variëren, afhankelijk van waar de container wordt uitgevoerd. De basis-URL voor uw API kan bijvoorbeeld variëren, afhankelijk van of u de app test of publiceert. Omgevingsvariabelen worden vaak gebruikt door ontwikkelaars om dit probleem aan te pakken, omdat code op de backend werkt, omgevingsvariabelen worden daar meestal gebruikt.







Tijdens de imageconstructie moeten we mogelijk omgevingsinformatie doorgeven aan de operationele container. Om dit te doen, gebruiken we zowel ENV- als ARG-commando's. Het ARG-commando maakt een variabele die tijdens het bouwproces kan worden opgegeven. Zodra het is gedefinieerd in het Docker-bestand, kunt u de parameter —build-arg gebruiken om het aan de imagebuilder te verstrekken. In de Dockerfile kunnen we talloze ARG-instructies hebben. In de Dockerfile is de ARG-opdracht de enige die vóór de FROM-instructie kan komen.



De ENV-instructie stelt echter de omgevingsvariabele in, die op zijn beurt de omgeving specificeert voor de bouwinstructies die volgen. De ENV-instructie is toegankelijk tijdens het bouwproces en wanneer de container wordt gestart met de vlag —env. We kunnen de ENV-instructie echter niet doorgeven tijdens het construeren van de afbeelding. De ARG-richtlijn heeft het nadeel dat deze niet kan blijven bestaan ​​nadat de afbeelding is gebouwd. Om de omgevingsgegevens inline door te geven bij het maken van de afbeelding, gebruiken we zowel ENV als ARG. In deze handleiding leren we u hoe u een omgevingsvariabele doorgeeft aan een docker-container.



Vereisten

Om de omgevingsvariabelen door te geven aan een docker-container, moet u het Ubuntu 20.04 Linux-systeem geïnstalleerd hebben. Zorg er ook voor dat u de up-to-date versie van Docker op uw systeem installeert. In het geval dat het niet aanwezig is in het systeem, kunt u de installatie uitvoeren met behulp van de onderstaande opdracht.





$ sudo apt install docker.io

In deze hele tutorial hebben we het Sudo-sleutelwoord gebruikt, wat betekent dat je sudo-rechten moet hebben om dit artikel uit te voeren.



Methode om de omgevingsvariabelen door te geven

Om de omgevingsvariabelen door te geven aan een docker-container, moet u de opdrachtregelterminal openen met de sneltoets Ctrl+Alt+T of door ernaar te zoeken in het toepassingsmenu met behulp van de zoekbalk. Volg nu de onderstaande stappen:

Stap 1: Trek afbeelding
In deze handleiding zullen we Alpine gebruiken, een kleine (5 MB) Linux-afbeelding. Download om te beginnen de afbeelding lokaal met behulp van de volgende toegevoegde opdracht:

$ sudo docker pull alpine:3

De uitvoer toont het succesvolle beeld trekken.

Stap 2: Omgevingsvariabelen doorgeven
Met behulp van de vlag –env kunnen we omgevingsvariabelen als sleutel-waardeparen rechtstreeks in de opdrachtprompt invoeren bij het starten van onze Docker-container. Laten we de volgende toegevoegde opdracht gebruiken als illustratie:

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

Er is geen specifieke uitvoer voor deze opdracht.

Stap 3: Omgevingsvariabelen reflecteren
Gebruik de volgende toegevoegde opdracht samen met het trefwoord export om de omgevingsvariabelen weer te geven.

$ export VARIABLE2=foobar2

Er is geen specifieke uitvoer voor deze opdracht.

Stap 4: Specificeer omgevingsvariabelen
Laten we nu, zonder de waarde van de omgevingsvariabele op te geven, de omgevingsvariabele definiëren met behulp van de onderstaande opdracht in de terminal:

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

In de uitvoer kunt u zien dat de omgevingsvariabele is doorgegeven aan de docker-container.

Conclusie

In dit artikel hebben we het concept en het belang van omgevingsvariabelen in docker besproken. We hebben u ook de stapsgewijze handleiding gegeven voor het doorgeven van een omgevingsvariabele aan een docker-container. Ik hoop dat je geen probleem zult hebben bij het doorgeven van de omgevingsvariabele aan een docker-container.