Docker Compose Nedir?
Docker Compose, birden fazla Docker konteynerini bir arada çalıştırmak için kullanılan bir araçtır. Çeşitli servislere sahip olan bir uygulama geliştirirken, her servisin farklı bir konteynerde çalışmasını sağlar. Mesela, veritabanı, API ve frontend gibi bileşenlerin her biri farklı konteynerlerde çalışabilir, ancak Docker Compose sayesinde bu konteynerler birbirleriyle kolayca iletişim kurar.
Docker Compose Kurulumu
Docker Compose’u Windows’ta kullanmak için ilk olarak Docker’ı kurmanız gerekiyor. Docker’ı kurduktan sonra Docker Compose, Docker ile birlikte otomatik olarak yüklenir. Eğer Docker’ı henüz kurmadıysanız, Docker Desktop’u [buradan](https://www.docker.com/products/docker-desktop/) indirebilirsiniz.
1. Docker Desktop İndirme ve Kurulum
Docker Desktop’u indirip kurduktan sonra, Docker Desktop’ı çalıştırın ve sisteminize entegre edilmesini bekleyin. Kurulum sırasında Windows için WSL 2'yi etkinleştirmeniz istenebilir, bu nedenle Docker’ın gereksinimlerini doğru şekilde yerine getirdiğinizden emin olun.
2. Docker Compose'un Kurulumu
Docker Compose, Docker’ın bir parçası olarak geldiği için ayrıca bir kurulum yapmanıza gerek yok. Kurulumdan sonra, terminale şu komutu girerek Docker Compose’un yüklü olduğunu kontrol edebilirsiniz:
docker-compose --versionEğer doğru şekilde yüklendiyse, versiyon numarasını göreceksiniz.
Docker Compose Dosyasını Oluşturma
Docker Compose’un temel işlevi, bir `docker-compose.yml` dosyasında birden fazla servisi tanımlamak ve bu servisleri birlikte çalıştırmaktır. İşte basit bir örnek:
version: '3'
services:
web:
image: nginx
ports:
- "80:80"
db:
image: postgres
environment:
POSTGRES_PASSWORD: example
Yukarıdaki örnekte, bir web servisi (Nginx) ve bir veritabanı servisi (PostgreSQL) tanımladık. Docker Compose dosyasını oluşturduktan sonra, aşağıdaki komutla tüm servisleri başlatabilirsiniz:
docker-compose upWindows'ta Docker Compose Kullanırken Dikkat Edilmesi Gerekenler
Windows üzerinde Docker Compose kullanırken bazı noktalar önemlidir:
- Windows Dosya Sistemi: Windows’ta, dosya sistemleri Linux’ta olduğu gibi aynı şekilde çalışmadığı için bazı dosya yolu hataları alabilirsiniz. Bu nedenle, `volumes` bölümünde dosya yollarını doğru tanımladığınızdan emin olun.
- WSL 2: Docker Desktop, WSL 2 üzerinde çalışır. Bu yüzden Windows Subsystem for Linux 2 (WSL 2)’yi etkinleştirmeniz ve gerekli Linux çekirdeğini yüklemeniz gerekir.
- Performans Sorunları: Docker, Windows üzerinde Linux konteynerlerini çalıştırırken performans sorunları yaşayabilir. Bu nedenle, Linux çekirdeği kullanarak daha iyi performans alabilirsiniz.
Docker Compose ile İleri Seviye Kullanım
Bir projede yalnızca basit bir web sunucusu ve veritabanı kullanmıyorsanız, Docker Compose ile çok daha karmaşık yapılar kurabilirsiniz. Örneğin, bir mikro hizmet mimarisi kurarak her mikro servisi farklı konteynerlerde çalıştırabilir ve hepsini bir arada yönetebilirsiniz.
version: '3'
services:
web:
build: ./web
ports:
- "5000:5000"
api:
build: ./api
ports:
- "4000:4000"
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: example
Yukarıdaki örnekte, her servis kendi içerisinde bir Dockerfile’a sahip ve birbirleriyle iletişim kurabiliyorlar.
Sonuç: Docker Compose ile Kolayca Çalışın!
Docker Compose, yazılım geliştiricileri ve sistem yöneticileri için vazgeçilmez bir araçtır. Windows üzerinde Docker Compose kullanarak projelerinizi çok daha verimli bir şekilde yönetebilirsiniz. Eğer Docker ile ilgili yeniyseniz, Docker Compose’u öğrenmek ilk adımda size büyük fayda sağlayacaktır.