CodeBlanks Logo Icon CodeBlanks

Özet - Environment

ENV, ARG ve -e'yi birleştirerek yapılandırılabilir bir image yazarsın.

Özet: ortam

Bu grupta:

  • -e AD=değer çalışma anında değişken verir; -e AD ana makineden alır.
  • ENV image'a kalıcı varsayılan ekler; -e onu geçersiz kılar.
  • ARG yalnızca build'de geçerlidir; --build-arg ile doldurulur, FROM öncesinde temel image'ı seçebilir.
  • --env-file çok sayıda değişkeni dosyadan yükler; gizli dosyalar depoya konmaz.
  • WORKDIR sonraki talimatların dizinidir; RUN cd kalıcı değildir.
docker build --build-arg SURUM=1.5.0 -t api:1.5.0 .
docker run -d --env-file app.env -e LOG_LEVEL=debug api:1.5.0

Uygulama Build ve çalışma ayarı

İki komut yaz: SURUM=1.5.0 build argümanıyla mevcut klasörden api:1.5.0 build et; ardından api adlı container'ı arka planda app.env dosyasıyla ve LOG_LEVEL=debug ile başlat.

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
docker build --build-arg SURUM=1.5.0 -t api:1.5.0 .
docker run -d --name api --env-file app.env -e LOG_LEVEL=debug api:1.5.0

Beklenen çıktı

[+] Building 2.9s (8/8) FINISHED
 => naming to docker.io/library/api:1.5.0 done
b4c5d6e7f809

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bir build argümanının değerini çalışan container'da da okumak için ne yapılır?

  • Hiçbir şey; ARG otomatik kalır
  • -e ARG yazılır
  • Mümkün değildir
  • ENV AD=$AD ile ENV'e aktarılır Doğru cevap

Açıklama: ARG build bitince kaybolur; ENV image'da kalır.

2 Env dosyasındaki değeri komutla geçersiz kıl.

Soru
docker run -d --env-file app.env ____ LOG_LEVEL=debug api:1.0
Cevap
docker run -d --env-file app.env -e LOG_LEVEL=debug api:1.0

Açıklama: -e, --env-file'daki değerin önüne geçer.

3 Eşleştir.

Kavram Anlamı
-e Çalışma anı değişkeni
ENV Image varsayılanı
ARG Build değişkeni
--env-file Dosyadan yükle

Başlangıç bölümündeki tüm dersler