env-file
- Docker & Kubernetes kursu
- Başlangıç
- Ders 58/82
- 4 dk
--env-file ile bir dosyadan değişken yüklemeyi öğrenirsin.
--env-file
Çok sayıda değişkeni tek tek -e ile yazmak yerine bir dosyada toplanır. Her satır AD=değer biçimindedir; # ile başlayan satırlar yorumdur. Değerler tırnak içine alınmaz (tırnaklar değerin parçası olur):
# app.env
DB_HOST=db
DB_PORT=5432
DB_USER=app
LOG_LEVEL=info
docker run -d --env-file app.env api:1.0Sıra ve gizlilik
--env-file ve -e birlikte kullanılabilir; aynı değişken ikisinde de varsa -e kazanır. Gizli değer içeren env dosyaları sürüm kontrolüne konmaz; yerine değersiz bir örnek dosya paylaşılır:
docker run -d --env-file app.env -e LOG_LEVEL=debug api:1.0
# .gitignore
app.env
# depoya konan örnek: app.env.ornek
DB_PASSWORD=Uygulama Env dosyası
app.env dosyasının içeriğini yaz: DB_HOST=db, DB_PORT=5432, LOG_LEVEL=info (her biri ayrı satırda). Son satırda bu dosyayı kullanarak api:1.0'dan api adlı container'ı arka planda başlatan komutu yaz.
Başlangıç kodu
# app.env
# buraya yazÖrnek çözüm
# app.env
DB_HOST=db
DB_PORT=5432
LOG_LEVEL=info
docker run -d --name api --env-file app.env api:1.0Beklenen çıktı
a3b4c5d6e7f8
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 app.env dosyasında LOG_LEVEL="info" yazılırsa container'da değer ne olur?
- Hata verir
- "info" (tırnaklarla birlikte) Doğru cevap
- info
- Boş
Açıklama: docker run --env-file tırnakları ayıklamaz; Compose'un .env okuması ise ayıklar.
2 Değişkenleri dosyadan oku.
docker run -d ____ app.env api:1.0
docker run -d --env-file app.env api:1.0
Açıklama: --env-file her satırı bir değişken olarak yükler.
3 Eşleştir.
| Kavram | Anlamı |
|---|---|
AD=değer |
Bir satır |
# yorum |
Yok sayılır |
-e ile çakışma |
-e kazanır |
app.env.ornek |
Paylaşılan örnek |