Sådan bruges Docker .env-fil

Sådan bruges Docker .env-fil Gør din docker-compose.yml-sammensætning lettere og renere ved at erklære variabler i en .env-fil.

Docker-miljøvariabelfilen (.env) er afgørende, når du opretter komplekse containerinstallationer. Som du kunne forvente af navnet, giver denne fil dig mulighed for at deklarere miljøvariabler for dine containere. Dette er meget praktisk, da .env-filen kan genbruges til andre containere eller hurtigt redigeres - i stedet for at skulle redigere de mere komplekse docker-compose.yml-filer.

Jeg vil gerne vise dig det grundlæggende ved brug af .env-filen.

Hybrid sky: En guide til it- proffere (TechRepublic download)

Hvad du har brug for

For at gøre brug af .env-filer har du brug for en fungerende instans af Docker og docker-compose.

Deklarerende værdier i .env-filen

I .env-filen erklærer du værdier for visse variabler. Disse værdier er i formen:

 VARIABLE_NAME = VALUE 

Hvor VARIABLE_NAME er navnet på variablen, og VALUE er den aktuelle værdi for variablen.

Disse værdipar (inden for .env-filen) bruges i stedet for at erklære variabler i filen docker-compose.yml, som er i formen:

 miljø: - VARIABLE_NAME = $ {VALUE} 

Når du hardkoder disse variabler i filen docker-compose.yml, kan de ikke genbruges til andre containere, og de skal redigeres direkte, hvis de ændres.

I .env-filen kan du erklære næsten enhver form for variabel. Hvis du f.eks. Bruger en database til din container. I .env-filen kan du erklære:

  • DB_NAME
  • DB_USER
  • DB_PW
  • DB_ROOT_PW

Så lad os sige, at du har din .env-fil (det er det fulde navn på filen, forresten) placeret i det samme bibliotek, der huser din docker-compose.yml-fil. I den .env-fil har du følgende linjer:

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

Brug af variabler

Hvordan bruger du dem med de deklarerede variabler? Fra filen docker-compose.yml kan du derefter kalde dem sådan:

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

Da du har defineret disse variabler i .env-filen, læses de automatisk, når du udsteder kommandoen docker-compose, da docker-compose-kommandoen altid tjekker efter .env-filen først.

Hvis du antager, at du har en fuldt udviklet docker-compose.yml-fil, skal din container bygge uden fejl.

Hvorfor denne metode?

Brug af .env-filen giver dig mulighed for at tage en skrivning-til-brug-ofte-tilgang til at konfigurere dine containere. Selvom du muligvis ikke bruger nøjagtigt de samme variabler til forskellige containere, giver det dig mulighed for at oprette en enkelt .env-fil og derefter let redigere værdierne, så den kan genbruges til andre containere. Dette gør det også lettere at skrive docker-compose.yml-filer, da du ikke behøver at kode alle miljøvariabler.

Prøv denne metode og se, om det ikke hjælper med at gøre din docker-compose.yml-skrivning lidt lettere og mere effektiv.

Cloud og alt som et service nyhedsbrev

Dette er din go-to ressource for det nyeste om AWS, Microsoft Azure, Google Cloud Platform, XaaS, skysikkerhed og meget mere. Leveres mandage

Tilmeld dig i dag

© Copyright 2020 | mobilegn.com