Hvordan bruke Docker .env-fil

Hvordan bruke Docker .env-fil Gjør din docker-compose.yml-sammensetning enklere og renere ved å deklarere variabler i en .env-fil.

Docker-miljøvariabelfilen (.env) er avgjørende når du lager komplekse containerdistribusjoner. Som du kanskje forventer av navnet, lar denne filen deg deklarere miljøvariabler for containerne dine. Dette kommer godt med, siden .env-filen kan gjenbrukes for andre containere eller raskt redigeres - i stedet for å måtte redigere de mer komplekse docker-compose.yml-filene.

Jeg vil vise deg det grunnleggende ved bruk av .env-filen.

Hybrid sky: En guide for IT-proffer (TechRepublic nedlasting)

Hva du trenger

For å kunne bruke .env-filer, trenger du en fungerende forekomst av Docker og docker-compose.

Deklarerende verdier i .env-filen

I .env-filen deklarerer du verdier for visse variabler. Disse verdiene er i formen:

 VARIABLE_NAME = VERDI 

Hvor VARIABLE_NAME er navnet på variabelen og VALUE er den faktiske verdien for variabelen.

Disse verdiparene (innenfor .env-filen) brukes i stedet for å deklarere variabler i docker-compose.yml-filen, som er i formen:

 miljø: - VARIABLE_NAME = $ {VALUE} 

Når du hardkoder disse variablene i docker-compose.yml-filen, kan de ikke brukes på nytt for andre containere, og de må redigeres direkte hvis de endres.

Innenfor .env-filen kan du erklære omtrent hvilken som helst type variabel. Hvis du for eksempel bruker en database for containeren. I .env-filen kan du erklære:

  • DB_NAME
  • db-bruker
  • DB_PW
  • DB_ROOT_PW

Så la oss si at du har din .env-fil (det er det fulle navnet på filen, forresten) lokalisert i den samme katalogen som inneholder docker-compose.yml-filen. I den .env-filen har du følgende linjer:

 DB_NAME = dbase DB_USER = dbuser DB_PW = dbpassord DB_ROOT_PW = dbrootpw 

Bruke variabler

Hvordan bruker du dem med de oppgitte variablene? Fra filen docker-compose.yml kan du kalle dem slik:

 tjenester: db: image: mysql-miljø: - MYSQL_DATABASE: "$ {DB_NAME}" - MYSQL_USER: "$ {DB_USER}" - MYSQL_ROOT_PASSWORD: "$ {DB_ROOT_PW}" - MYSQL_PASSWORD: "$ {DB_PW}" 

Siden du har definert disse variablene i .env-filen, vil de automatisk bli lest når du gir kommandoen docker-compose up, ettersom docker-compose-kommandoen alltid sjekker etter .env-filen først.

Forutsatt at du har en fullstendig utfylt docker-kompose.yml-fil, bør containeren din bygges uten feil.

Hvorfor denne metoden?

Ved å bruke .env-filen kan du ta en tilnærming til å skrive en gang til bruk for å konfigurere containerne. Selv om du kanskje ikke bruker nøyaktig de samme variablene for forskjellige containere, lar den deg lage en enkelt .env-fil og deretter enkelt redigere verdiene, slik at den kan brukes på nytt for andre containere. Dette gjør det også enklere å skrive docker-compose.yml-filer, da du ikke trenger å kode alle miljøvariablene.

Prøv denne metoden og se om det ikke hjelper å gjøre docker-compose.yml-skrivingen litt enklere og mer effektiv.

Cloud og alt som et service nyhetsbrev

Dette er din go-to ressurs for det siste om AWS, Microsoft Azure, Google Cloud Platform, XaaS, skysikkerhet og mye mer. Leveres mandager

Registrer deg i dag

© Copyright 2021 | pepebotifarra.com