Birleştirme - compose
- Docker & Kubernetes kursu
- Başlangıç
- Ders 65/82
- 5 dk
Tüm service'leri birleştirerek compose up ile çalıştırırsın.
Birleştirme: tam yığın
Parçaları birleştirince API, PostgreSQL ve Redis'ten oluşan yığın tek dosyada durur. API, bağlantı bilgisini servis adlarıyla ortam değişkenlerinden alır:
services:
api:
build: .
ports: ["8000:8000"]
environment:
DATABASE_URL: postgresql://app:gizli@db:5432/app
REDIS_URL: redis://cache:6379
depends_on:
db: {condition: service_healthy}
cache: {condition: service_started}
db:
image: postgres:16
...
cache:
image: redis:7Günlük komutlar
docker compose up -d # başlat (gerekeni oluştur/güncelle)
docker compose ps # durum
docker compose logs -f api # api log'larını izle
docker compose exec db psql -U app # servis container'ında komut
docker compose restart api # yeniden başlat
docker compose down # kaldır (volume'ler kalır)Komutlar compose dosyasının bulunduğu klasörde çalıştırılır; başka yerden -f yol/compose.yaml verilir.
Uygulama Tam yığın
Bir compose.yaml yaz: api servisi build: ., "8000:8000" portu, environment altında REDIS_URL: redis://cache:6379 ve depends_on altında cache olsun; cache servisi redis:7 image'ını kullansın.
Başlangıç kodu
# compose.yaml
# buraya yazÖrnek çözüm
# compose.yaml
services:
api:
build: .
ports:
- "8000:8000"
environment:
REDIS_URL: redis://cache:6379
depends_on:
- cache
cache:
image: redis:7Beklenen çıktı
[+] Running 3/3 ✔ Network proje_default Created ✔ Container proje-cache-1 Started ✔ Container proje-api-1 Started
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Kod değiştikten sonra yalnızca api image'ını yeniden oluşturup yığını güncellemek için hangisi kullanılır?
- docker build compose.yaml
- docker compose ps --build
- docker compose up -d --build api Doğru cevap
- docker compose down -v
Açıklama: Değişmeyen db ve cache container'larına dokunulmaz.
2 Servis container'ında komut çalıştır.
docker compose ____ db psql -U app
docker compose exec db psql -U app
Açıklama: compose exec çalışan servis container'ında çalışır.
3 Eşleştir.
| Kavram | Anlamı |
|---|---|
up -d --build |
Yeniden build edip başlat |
logs -f api |
api log'larını izle |
exec db |
db'de komut |
down |
Kaldır, volume'ler kalır |