Hvordan gi miljøvariabler til en Docker -beholder

Hvordan gi miljøvariabler til en Docker -beholder
Docker er et open source-program som utfører serverapplikasjoner ved hjelp av containere i stedet for virtuelle maskiner. Docker er en utviklings- og vertskonfigurasjon som bruker færre ressurser, så det er ingen overraskelse at det feier utviklingsverdenen. Docker miljøvariabler er viktig for denne prosedyren fordi de lagrer data som er unike for hver brukerkonto som får tilgang til programvaren.

Ved å bruke ethvert moderne JavaScript -rammeverk for å lage en beholder for en enkelt app, kan du oppdage at konfigurasjonsinnstillingene varierer avhengig av hvor beholderen skal utføres. Den grunnleggende URL -en for API -en din, for eksempel, kan variere basert på om du tester eller publiserer appen. Miljøvariabler brukes ofte av utviklere for å takle dette problemet fordi koden fungerer på backend, miljøvariabler brukes vanligvis der.

Under bildekonstruksjonen kan det hende vi må overføre miljøinformasjon til driftsbeholderen. For å gjøre det, bruker vi både Env og Arg -kommandoer. ARG -kommandoen oppretter en variabel som kan gis under byggeprosessen. Når det er definert i Dockerfile, kan du bruke parameteren -Build -Arg for å gi den til bildebyggeren. I Dockerfile kan vi ha mange ARG -instruksjoner. I Dockerfile er Arg -kommandoen den eneste som kan komme før fra instruksjon.

Env -instruksjonen angir imidlertid miljøvariabelen, som igjen spesifiserer miljøet for konstruksjonsinstruksjonene som følger. ENV -instruksjonen er tilgjengelig under byggeprosessen, så vel som når beholderen startes med -NV -flagget. Vi klarer imidlertid ikke å gi ENV -instruksjonen mens vi konstruerer bildet. ARG -direktivet har ulempen med å ikke være i stand til å vedvare etter at bildet er bygget. For å passere miljømeddataene når vi oppretter bildet, vil vi bare bruke både env og arg. I denne guiden vil vi lære deg hvordan du kan gi en miljøvariabel til en Docker -beholder.

Forutsetninger

For å overføre miljøvariablene til en Docker -beholder, må du ha Ubuntu 20.04 Linux -system installert. Sørg også for å installere den oppdaterte versjonen av Docker på systemet ditt. I tilfelle det ikke er til stede i systemet, kan du gjøre installasjonen ved å bruke den nedenfor siterte kommandoen.

$ sudo apt install docker.io

I hele denne opplæringen har vi brukt nøkkelordet "Sudo", noe som betyr at du må ha sudo -privilegier for å kjøre denne artikkelen.

Metode for å passere miljøvariablene

For å overføre miljøvariablene til en Docker -beholder, må du åpne kommandolinjeterminalen ved å bruke snarveisnøkkelen til “Ctrl+Alt+T” eller ved å søke den i applikasjonsmenyen ved å bruke søkefeltet. Følg nå de nedenfor-brukte trinnene:

Trinn 1: Trekk bilde
Gjennom denne guiden bruker vi Alpine, et lite (5MB) Linux -bilde. For å begynne, last ned bildet lokalt ved å bruke følgende vedlagte kommando:

$ sudo docker pull alpine: 3

Utgangen viser det vellykkede bildet.

Trinn 2: Passerende miljøvariabler
Ved hjelp av -ENV -flagget kan vi legge inn miljøvariabler som nøkkelverdipar rett inn i ledeteksten når du lanserer Docker -beholderen vår. La oss bruke følgende vedlagte kommando som en illustrasjon:

$ SUDO DOCKER RUN -ENV DARIABLE1 = FOOBAR ALPINE: 3

Det vil ikke være noen spesifikk utdata for denne kommandoen.

Trinn 3: Reflekterende miljøvariabler
For å gjenspeile miljøvariablene, bruk følgende vedlagte kommando sammen med nøkkelordet “Eksport”.

$ eksportvariabel2 = FOOBAR2

Det vil ikke være noen spesifikk utdata for denne kommandoen.

Trinn 4: Spesifiser miljøvariabler
Uten å spesifisere verdien av miljøvariabelen, la oss definere miljøvariabelen ved å bruke den nedenfor-listede kommandoen i terminalen:

$ Sudo Docker Run -ENV Variable2 Alpine: 3 Env

I utgangen kan du se at miljøvariabelen har blitt gitt til Docker -beholderen.

Konklusjon

I denne artikkelen har vi diskutert konseptet og viktigheten av miljøvariabler i Docker. Vi har også gitt deg trinn-for-trinns guide til å sende en miljøvariabel til en Docker-beholder. Jeg håper du ikke har noe problem mens du gir miljøvariabelen til en Docker -beholder.