Junior
Docker Compose nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Çok konteynerli Docker uygulamalarını tanımlamak ve çalıştırmak için araç. Hizmetleri, ağları ve hacimleri tek bir YAML dosyasında tanımlamaya ve tek bir komutla çalıştırmaya olanak tanır.
Ana fonksiyonlar:
- Bir dosyada birden fazla hizmet tanımlama.
- Tüm hizmetleri tek bir komutla oluşturma ve çalıştırma.
- Uygulamanın yaşam döngüsünü yönetme (başlatma, durdurma, yeniden başlatma, ölçeklendirme).
- Konteynerler arasında ağ etkileşimi.
- Gerçek zamanlı yapılandırma uygulama.
docker-compose.yml dosyasına örnek:
version: '3.8' # Dosya format sürümü
services:
web: # Hizmet adı
image: nginx:latest # Kullanılan imaj
ports:
- "80:80" # Port yönlendirmesi
volumes:
- ./html:/usr/share/nginx/html # Hacim eşlemesi
app: # Başka bir hizmetin adı
build: . # Mevcut dizindeki Dockerfile'dan imaj oluşturma
ports:
- "5000:5000"
depends_on: # Diğer hizmete bağımlılık
- db
db: # Veritabanı hizmetinin adı
image: postgres:latest
environment: # Ortam değişkenleri
POSTGRES_DB: mydatabase
POSTGRES_USER: myuser
POSTGRES_PASSWORD: mypassword
volumes: # Tanımlı hacimler
data: # Veriler için isimlendirilmiş hacim
Komutlar:
docker-compose up: Konteynerleri başlatır.docker-compose down: Durdurur ve siler.docker-compose build: İmajları oluşturur.docker-compose ps: Çalışan konteynerlerin durumunu gösterir.
Avantajlar:
- Karmaşık çok konteynerli uygulamaların yönetimini basitleştirir.
- Dağıtımın tekrarlanabilirliğini sağlar.
- Yerel geliştirme ve testi kolaylaştırır.