Docker Compose Nedir?
Docker Compose, birden fazla konteyneri bir arada yönetebilmeniz için kullanılan bir araçtır. Bir Docker Compose dosyası (.yml uzantılı) ile, çalıştırmak istediğiniz her bir servisi, bağımlılıklarıyla birlikte tanımlarsınız. Yani, mikroservis mimarisinde çalışan bir uygulamanız varsa, her bir mikroservis için ayrı ayrı konteynerler oluşturabilir ve bu konteynerleri tek bir dosya ile yönetebilirsiniz. Docker Compose, her şeyin uyumlu bir şekilde çalışmasını sağlayarak işleri kolaylaştırır.
Docker Compose Kurulumu
Linux sisteminizde Docker Compose’u kurmak oldukça basittir. Adım adım kurulumu şu şekilde gerçekleştirebilirsiniz:
Adım 1: Docker'ı Kurun
Docker Compose kullanmadan önce, Docker’ın sisteminizde kurulu olması gerekir. Docker'ı kurmak için terminal üzerinden şu komutları kullanabilirsiniz:
sudo apt-get update
sudo apt-get install docker.io
Adım 2: Docker Compose’u İndirin
Docker Compose, GitHub üzerinden kolayca indirilebilir. Aşağıdaki komutla en güncel sürümünü sisteminize indirebilirsiniz:
sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | jq -r .tag_name)/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Adım 3: İzin Verme
İndirilen dosyayı çalıştırılabilir hale getirmek için şu komutu kullanın:
sudo chmod +x /usr/local/bin/docker-compose
Adım 4: Kurulumu Doğrulama
Docker Compose’un doğru şekilde kurulduğunu doğrulamak için şu komutu kullanabilirsiniz:
docker-compose --version
Bu komut, yüklü olan Docker Compose sürümünü gösterecektir.
Docker Compose Dosyası (docker-compose.yml)
Docker Compose, bir YAML dosyası olan "docker-compose.yml" ile çalışır. Bu dosyada, hangi konteynerlerin çalıştırılacağı, hangi portların kullanılacağı ve bağımlılıkların neler olduğu gibi bilgileri tanımlarsınız. İşte basit bir örnek:
version: '3'
services:
web:
image: nginx
ports:
- "80:80"
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: example
Bu dosyada, iki servis tanımlı: biri "web" (Nginx), diğeri "db" (MySQL). Nginx, 80 numaralı portu hariciye açarken, MySQL için bir kök şifre belirlenmiş. Bu dosyayı oluşturduktan sonra tek bir komutla bu iki konteyneri çalıştırabilirsiniz.
Docker Compose ile Uygulama Çalıştırmak
Docker Compose dosyanızı oluşturduktan sonra, her şeyin çalıştığından emin olmak için şu komutu kullanabilirsiniz:
docker-compose up
Bu komut, tanımladığınız tüm servislere uygun Docker konteynerlerini başlatacaktır. Eğer arka planda çalışmasını isterseniz, şu komutu kullanabilirsiniz:
docker-compose up -d
Docker Compose Durumunu Görüntüleme
Docker Compose ile çalışan servislerin durumunu görmek için şu komutu kullanabilirsiniz:
docker-compose ps
Bu komut, her bir servisin durumunu ve bağlı olduğu konteynerleri gösterir.
Docker Compose ile Konteynerleri Durdurmak
Çalışan konteynerleri durdurmak için aşağıdaki komutu kullanabilirsiniz:
docker-compose down
Bu komut, tüm konteynerleri durduracak ve Docker Compose ile başlatılmış olan ağları ve hacimleri temizleyecektir.
Sonuç
Docker Compose, yazılım geliştirme süreçlerinizi hızlandırmak ve konteyner yönetimini daha verimli hale getirmek için mükemmel bir araçtır. Linux ortamında kurulum ve kullanımı oldukça basittir, bu yüzden mikroservisler veya birden fazla servisi bir arada yönetmeniz gereken projelerde Docker Compose’u mutlaka kullanmalısınız. Tek bir komutla birden fazla servisi başlatıp yönetebilmeniz, işleri çok daha pratik ve hızlı hale getirir.