Docker Compose Nedir?
Docker Compose sayesinde sadece uygulama değil, bağımlılıklarınız da tek bir yerden yönetilebilir. Projenizde kullandığınız her bir servisi, ağ bağlantılarını ve hacimleri yapılandırarak her şeyin uyum içinde çalışmasını sağlarsınız.
Docker Compose Yapılandırma Dosyası (docker-compose.yml)
# İşte basit bir `docker-compose.yml` örneği:
version: '3'
services:
web:
image: nginx:latest
ports:
- "8080:80"
volumes:
- ./html:/usr/share/nginx/html
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: mydatabase
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
Bu dosya, iki farklı servisi çalıştıracak: `web` (Nginx) ve `db` (MySQL). Nginx, 8080 portu üzerinden dışarıya servis verirken, MySQL için bir root parolası belirleniyor ve veritabanı verisi için bir hacim (volume) oluşturuluyor.
Docker Compose Kullanarak Uygulama Çalıştırmak
# Docker Compose ile uygulamayı başlatmak için:
Terminal veya komut satırında, `docker-compose.yml` dosyanızın bulunduğu dizine gidin.
2. Docker Compose başlatın:
Şimdi terminale şu komutu yazabilirsiniz:
docker-compose up
Bu komut, tüm servisleri başlatacak ve onları çalıştırmaya başlayacaktır. Eğer arka planda çalışmasını istiyorsanız, şu komutu kullanabilirsiniz:
docker-compose up -d
`-d` parametresi, konteynerlerin arka planda çalışmasını sağlar.
Docker Compose ile Yönetim
# Konteynerleri durdurmak:
Uygulamanız durduğunda ya da kapatılmak istendiğinde, şu komutla konteynerleri durdurabilirsiniz:
docker-compose down
# Konteynerleri yeniden başlatmak:
Eğer sadece konteynerleri yeniden başlatmanız gerekiyorsa, şu komutu kullanabilirsiniz:
docker-compose restart
# Konteyner loglarını görmek:
Bir şeyler ters giderse, logları kontrol ederek sorunun kaynağını bulabilirsiniz:
docker-compose logs
Docker Compose ile Çalışırken Dikkat Edilmesi Gerekenler
1. Port Çakışmaları: Docker Compose ile aynı anda birçok servis çalıştırdığınızda port çakışmalarına dikkat edin. Her servisin kendi portunu belirtmek önemlidir.
2. Hacim Yönetimi: Veritabanları ve diğer kalıcı veri saklama gereksinimi olan uygulamalar için hacimlerin doğru yapılandırılması gereklidir.
3. Çevre Değişkenleri: Docker Compose dosyanızda çevre değişkenlerini doğru şekilde yapılandırmak, güvenlik ve esneklik açısından önemlidir.
Sonuç
Ayrıca, her projeye özel yapılandırmalar ve çevre değişkenleri ile Docker Compose'un gücünden faydalanarak, projelerinizi hızlıca test edebilir, geliştirebilir ve dağıtabilirsiniz. Unutmayın, Docker Compose kullanmak sadece daha hızlı değil, aynı zamanda daha düzenli ve taşınabilir projeler oluşturmanıza yardımcı olacaktır!