Meydan okuma - Başlangıç projesi
- Docker & Kubernetes kursu
- Başlangıç
- Ders 82/82
- 6 dk
Tüm başlangıç kavramlarını birleştiren bir proje kurarsın.
Meydan okuma: başlangıç projesi
Başlangıç bölümünün tüm parçaları: kendi Dockerfile'ınla build edilen bir API, bir Redis önbelleği, ortak bir ağ, ortam değişkenleri ve sağlık kontrolü. Compose dosyası hem build'i hem çalıştırmayı tanımlar:
services:
api:
build: .
image: api:1.0.0
ports:
- "3000:3000"
env_file: api.env
environment:
REDIS_URL: redis://cache:6379
depends_on:
cache:
condition: service_healthy
restart: unless-stopped
cache:
image: redis:7
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5sUygulama Projenin compose dosyası
Bir compose.yaml yaz: api servisi build: ., image: api:1.0.0, "3000:3000", env_file: api.env, depends_on altında cache için condition: service_healthy; cache servisi redis:7 ve healthcheck altında test: ["CMD", "redis-cli", "ping"].
Başlangıç kodu
# compose.yaml
# buraya yazÖrnek çözüm
# compose.yaml
services:
api:
build: .
image: api:1.0.0
ports:
- "3000:3000"
env_file: api.env
depends_on:
cache:
condition: service_healthy
cache:
image: redis:7
healthcheck:
test: ["CMD", "redis-cli", "ping"]Beklenen çıktı
[+] Running 3/3 ✔ Image api:1.0.0 Built ✔ Container proje-cache-1 Healthy ✔ Container proje-api-1 Started
Uygulama Kodu güncelle
Kodu değiştirdin. İki komut yaz: yalnızca api servisini yeniden build edip arka planda güncelle; ardından api container'ında env komutunu çalıştırarak değişkenleri göster.
Başlangıç kodu
# buraya yazÖrnek çözüm
docker compose up -d --build api
docker compose exec api envBeklenen çıktı
[+] Running 2/2 ✔ Image api:1.0.0 Built ✔ Container proje-api-1 Started NODE_ENV=production REDIS_URL=redis://cache:6379 LOG_LEVEL=info
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 cache servisinin healthcheck'i ne zaman başarılı olur?
- 5 saniye sonra her zaman
- api başlayınca
- redis-cli ping sıfır çıkış koduyla (PONG) döndüğünde Doğru cevap
- Container başlar başlamaz
Açıklama: Sağlık kontrolü test komutunun çıkış koduna bakar.
2 Ortam değişkenlerini dosyadan yükle.
api:
build: .
____: api.env
api:
build: .
env_file: api.env
Açıklama: Compose'da alt çizgiyle yazılır: env_file.
3 Eşleştir.
| Kavram | Anlamı |
|---|---|
build: . |
Kendi Dockerfile'ın |
image: api:1.0.0 |
Build etiketi |
env_file |
Dosyadan ayar |
service_healthy |
Hazır olunca başla |