Docker Compose, kullanıcıların çoklu konteyner Docker uygulamalarını tanımlamasını ve çalıştırmasını sağlayan bir araçtır. Docker Compose ile bir YAML dosyası kullanarak uygulamanızın servislerini, ağlarını ve hacimlerini yapılandırabilir ve birden fazla konteyneri tek bir birim olarak çalıştırabilirsiniz.
Docker Compose, 2014 yılında çoklu konteyner Docker uygulamalarının yönetimini basitleştirmek amacıyla tanıtıldı. O zamandan beri Docker ekosisteminde popüler bir araç haline gelmiş ve konteyner orkestrasyonunu basit ve etkili bir şekilde sunmaktadır.
Docker Compose Nasıl Çalışır
Docker Compose, uygulamanın servislerini, ağlarını ve hacimlerini tanımlayan bir YAML dosyasını okur. Her servis bir konteyner olarak tanımlanır ve YAML dosyası, konteynerlerin nasıl yapılandırılacağını ve birbirleriyle nasıl iletişim kuracağını belirtir.
Docker Compose çalıştırıldığında, uygulama için bir ağ oluşturur ve YAML dosyasında tanımlı konteynerleri başlatır. Konteynerler, YAML dosyasında belirtilen sıraya göre başlatılır ve her bir konteyner, kendi ortam değişkenleri, yapılandırma dosyaları ve diğer kaynaklarıyla birlikte çalıştırılır.
Konteynerler çalışmaya başladıktan sonra, Docker Compose uygulamayı yönetmek için bir dizi komut sunar; örneğin konteynerleri başlatma ve durdurma, servisleri ölçeklendirme ve logları görüntüleme gibi.
Docker Compose Kullanımı
Docker Compose kullanabilmek için öncelikle uygulamanızı tanımlayan bir YAML dosyası oluşturmanız gerekir. Aşağıda basit bir Docker Compose YAML dosyasına örnek verilmiştir:
version: '3'
services:
web:
image: nginx
ports:
- "8000:80"
db:
image: postgres
environment:
POSTGRES_PASSWORD: example
Bu örnekte iki servis tanımlanmıştır: “web” ve “db”. “web” servisi nginx imajını kullanır ve 8000 numaralı portu ana makineye yönlendirir. “db” servisi ise postgres imajını kullanır ve POSTGRES_PASSWORD ortam değişkenini ayarlar.
Uygulamayı başlatmak için aşağıdaki komutu çalıştırabilirsiniz:
Bu komut YAML dosyasını okuyarak dosyada tanımlı konteynerleri başlatır. Ardından bir web tarayıcısı açıp http://localhost:8000 adresine giderek web servisine erişebilirsiniz.
Sonuç
Docker Compose, çoklu konteyner Docker uygulamalarını yönetmek için güçlü bir araçtır. Docker Compose ile uygulamanızı birbirine bağlı konteynerler kümesi olarak tanımlayabilir, yönetebilir ve ölçeklendirebilirsiniz. Basit bir YAML dosyasıyla uygulamanızı yapılandırarak, karmaşık konteyner tabanlı çözümleri kolayca oluşturabilir, çalıştırabilir ve sürdürebilirsiniz.