Docker Compose Nedir?
Docker Compose, birden fazla Docker konteynerini bir arada ve koordine bir şekilde çalıştırmak için kullanılan bir araçtır. Genelde mikroservis mimarilerinde, çok sayıda konteynerin birlikte çalışması gereken projelerde kullanılır. Docker Compose sayesinde, her bir servisin kendi yapılandırmalarını tek bir YAML dosyasında tanımlayıp, hepsini birden başlatabilirsiniz.
Bu, özellikle karmaşık uygulamaları geliştirirken hayat kurtarıcıdır. Her servisin ayrı ayrı başlatılmasına gerek kalmadan, sadece bir komutla tüm sistemin ayağa kalkmasını sağlar.
Linux'a Docker ve Docker Compose Kurulumu
Docker Compose’u kullanmaya başlamadan önce, Docker’ın sisteminizde kurulu olması gerekiyor. Docker kurulu değilse, aşağıdaki adımları takip ederek kurabilirsiniz.
Docker Kurulumu
Linux üzerinde Docker kurmak için terminali açın ve şu komutları sırayla çalıştırın:
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install docker-ce
sudo systemctl enable docker
sudo systemctl start docker
Bu adımlar Docker’ı sisteminize kuracak. Docker kurulumunu kontrol etmek için şu komutu kullanabilirsiniz:
sudo docker --version
Docker Compose Kurulumu
Docker Compose’u kurmak için aşağıdaki komutları izleyebilirsiniz:
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
sudo chmod +x /usr/local/bin/docker-compose
Kurulumun başarılı olduğunu kontrol etmek için şu komutu çalıştırabilirsiniz:
docker-compose --version
Docker Compose Dosyası (docker-compose.yml) Oluşturmak
Docker Compose’un en büyük avantajlarından biri, birden fazla konteyneri tek bir dosyada tanımlayabilmenizdir. Bu dosya, genellikle “docker-compose.yml” adıyla kaydedilir ve içinde tüm servisler, ağlar ve hacimler tanımlanır.
Aşağıda, basit bir web uygulaması için docker-compose.yml dosyasının örneğini bulabilirsiniz:
version: "3"
services:
web:
image: nginx:latest
ports:
- "8080:80"
db:
image: postgres:latest
environment:
POSTGRES_PASSWORD: example
Bu dosya iki servisi tanımlar: bir web servisi ve bir veritabanı servisi. Web servisi, Nginx imajını kullanarak çalışırken, DB servisi ise PostgreSQL’i çalıştırır.
Docker Compose ile Servisleri Başlatmak
Docker Compose ile servislerinizi başlatmak için terminalde projenizin bulunduğu dizine gidin ve şu komutu yazın:
docker-compose up
Bu komut, “docker-compose.yml” dosyanızdaki tüm servisleri başlatır. Eğer servislerinizi arka planda çalıştırmak isterseniz, komutu şu şekilde yazabilirsiniz:
docker-compose up -d
Servisleri Durdurmak
Servislerinizi durdurmak için şu komutu kullanabilirsiniz:
docker-compose down
Bu komut, başlattığınız konteynerleri durdurur ve kaldırır.
Docker Compose ile Hızlı Geliştirme
Docker Compose, geliştirme süreçlerini hızlandırmak için mükemmel bir araçtır. Çünkü her servisin kendi ortamında çalışmasını sağlar ve bu ortamlar birbirinden izole edilmiştir. Örneğin, bir veritabanı servisini güncellerken, web uygulamanızı etkilemeden test edebilirsiniz.
Özelleştirilmiş Yapılandırmalar
Docker Compose, esnek bir yapılandırma dosyasına sahiptir. Örneğin, belirli bir servisi yeniden başlatmak veya çevresel değişkenler eklemek çok kolaydır. Yapılandırma dosyanızda küçük değişiklikler yaparak, projenizin tüm servislerini kolayca yönetebilirsiniz.
Sonuç
Docker Compose, karmaşık yazılım projelerinde verimli bir geliştirme ve test ortamı sağlar. Linux kullanıcıları için kurulumu oldukça basittir ve tüm servislere tek bir dosyadan erişmek büyük bir avantaj sağlar. Eğer birden fazla konteyner ile çalışıyorsanız, Docker Compose hayatınızı gerçekten kolaylaştıracak.
Umarım bu yazı, Docker Compose’u Linux sisteminizde kullanmaya başlamak için ihtiyacınız olan tüm bilgileri sağlar. Şimdi sıra sizde! Docker Compose ile projelerinizi çok daha kolay ve verimli bir şekilde yönetebilirsiniz.