-e bayrağı
- Docker & Kubernetes kursu
- Başlangıç
- Ders 55/82
- 4 dk
-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 trDeğ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
# buraya yazBeklenen çı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.
docker run --rm ____ DIL=tr alpine env
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 |