CodeBlanks Logo Icon CodeBlanks

-e bayrağı

-e ile container'a environment değişkeni göndermeyi öğrenirsin.

-e bayrağı

Ortam değişkenleri, aynı image'ı farklı ortamlarda (geliştirme, test, üretim) farklı ayarlarla çalıştırmanın yoludur. -e AD=değer container'a bir değişken verir; birden çok -e yazılabilir:

docker run --rm -e AD=Ayşe -e DIL=tr alpine sh -c 'echo "$AD $DIL"'
# Ayşe tr

Değer yazılmazsa (-e TOKEN) değişken ana makinedeki aynı adlı değişkenden alınır.

Değişkenleri görmek

Container içindeki tüm ortam değişkenleri env ile görülür. docker inspect da onları gösterir; bu yüzden -e ile verilen parolalar container'a erişimi olan herkes tarafından okunabilir:

$ docker exec db env | grep POSTGRES
POSTGRES_PASSWORD=gizli
POSTGRES_DB=app
$ docker inspect -f '{{.Config.Env}}' db

Üretimde gizli değerler için Docker secret'ları ya da Kubernetes Secret'ları tercih edilir.

Uygulama Ayarlı veritabanı

postgres:16'dan db adlı container'ı arka planda üç ortam değişkeniyle başlat: POSTGRES_USER=app, POSTGRES_PASSWORD=gizli, POSTGRES_DB=magaza_db.

Başlangıç kodu

terminal
# buraya yaz

Beklenen çıktı

92a3b4c5d6e7

Soru ve cevaplar

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

1 docker run -e TOKEN img komutunda TOKEN'ın değeri nereden gelir?

  • Ana makinedeki TOKEN ortam değişkeninden Doğru cevap
  • Boş kalır her zaman
  • Image'dan
  • Hata verir

Açıklama: Bu, parolayı komut geçmişine yazmamanın bir yoludur.

2 Container'a bir ortam değişkeni ver.

Soru
docker run --rm ____ DIL=tr alpine env
Cevap
docker run --rm -e DIL=tr alpine env

Açıklama: -e (env) AD=değer alır.

3 Eşleştir.

Kavram Anlamı
-e AD=değer Değişken ata
-e AD Ana makineden al
env Değişkenleri listele
docker inspect Ayarları gösterir

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