Sobes.tech
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.