Docker Compose Nedir ve Nasıl Kullanılır? Linux Kullanıcıları İçin Adım Adım Rehber

Docker Compose, birden fazla Docker konteynerini kolayca yönetmek için kullanılan güçlü bir araçtır. Bu yazıda, Linux kullanıcıları için Docker Compose'un nasıl kurulacağını ve kullanacağını adım adım açıklıyoruz.

BFS

Docker, yazılım geliştiricilerinin hayatını kolaylaştıran, özellikle uygulamaları hızlı ve etkili bir şekilde dağıtmayı sağlayan güçlü bir araçtır. Ancak birden fazla konteyneri yönetmek bazen karmaşıklaşabilir. İşte tam burada Docker Compose devreye giriyor. Docker Compose, birden fazla konteyneri tek bir komutla yönetmemize olanak tanır ve bu yazıda, Linux kullanıcıları için Docker Compose'u nasıl kullanacağınızı adım adım anlatacağım.

Docker Compose Nedir?


Docker Compose, birden fazla Docker konteynerini tanımlamanıza ve çalıştırmanıza olanak sağlayan bir araçtır. Genellikle microservices mimarisinde kullanılan bu araç, uygulamanızın tüm servislerini bir dosya içerisinde tanımlamanıza yardımcı olur. Bu dosya genellikle docker-compose.yml olarak adlandırılır.

Yani, Docker Compose sayesinde birkaç farklı Docker konteynerini aynı anda başlatabilir, durdurabilir ve yönetebilirsiniz. Bu işlemi manuel olarak yapmak yerine, sadece bir komutla hepsini halledebilirsiniz. Harika değil mi?

Docker Compose Kurulumu


Docker Compose’u kullanabilmek için öncelikle Docker’ın sisteminize kurulu olması gerekiyor. Eğer Docker'ı henüz kurmadıysanız, bunun için resmi Docker dokümantasyonuna göz atabilirsiniz. Ancak Docker kurulumunu tamamladıysanız, Docker Compose'u kurmak için adımları takip edebilirsiniz.

Aşağıdaki adımları takip ederek Linux işletim sisteminizde Docker Compose’u kolayca kurabilirsiniz:

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


Kurulum tamamlandıktan sonra Docker Compose’un doğru bir şekilde yüklendiğini kontrol etmek için şu komutu kullanabilirsiniz:

docker-compose --version


Eğer doğru bir sürüm numarası alıyorsanız, Docker Compose başarıyla kurulmuş demektir.

docker-compose.yml Dosyasını Oluşturmak


Docker Compose’un en önemli özelliklerinden biri, birden fazla Docker konteynerini tek bir dosya ile tanımlayabilmenizdir. Bu dosya, tüm servislere ait yapılandırmaları içerir ve genellikle docker-compose.yml olarak adlandırılır.

Örnek olarak bir web uygulaması ve veritabanı içeren basit bir yapı tanımlayalım. Bu durumda, web uygulamasını ve veritabanını bir arada çalıştıracağız.

version: '3'
services:
  web:
    image: nginx
    ports:
      - "8080:80"
  db:
    image: postgres
    environment:
      POSTGRES_PASSWORD: examplepassword


Yukarıdaki dosya, iki servisi tanımlar: bir web servisi (nginx) ve bir veritabanı servisi (PostgreSQL). Web servisi 8080 portunu 80 portuna yönlendirir. Veritabanı ise bir şifre ile başlatılır.

Docker Compose Komutlarıyla Çalışma


Docker Compose ile birden fazla servisi yönetmek oldukça basittir. Birkaç temel komutla tüm sisteminizi kontrol edebilirsiniz.

docker-compose up:
Bu komut, docker-compose.yml dosyasındaki servisleri başlatır. Komut çalıştırıldığında, tüm servislere ait konteynerler başlatılır.

docker-compose up


docker-compose down:
Servisleri durdurmak için bu komutu kullanabilirsiniz. Bu komut, konteynerleri durdurur ve bağımlılıkları temizler.

docker-compose down


docker-compose logs:
Bir servisin günlüklerini görmek için bu komutu kullanabilirsiniz. Bu, özellikle uygulama geliştirirken hataları tespit etmek için çok yararlı olacaktır.

docker-compose logs


docker-compose ps:
Konteynerlerin durumunu görmek için kullanabileceğiniz bir başka yararlı komut.

docker-compose ps


Docker Compose İle Ortam Değişkenleri Kullanma


Çoğu uygulama farklı ortamlar (development, staging, production) için farklı yapılandırmalar gerektirir. Docker Compose, bu tür ortamlar için farklı yapılandırmalar kullanmanıza imkan verir. Ortam değişkenleri ile servisinize dair belirli parametreleri kolayca değiştirebilirsiniz.

Örneğin, veritabanı parolanızın ortam değişkeniyle belirtilmesi:

services:
  db:
    image: postgres
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}


Yukarıdaki örnekte, DB_PASSWORD adlı bir ortam değişkeni kullanılıyor. Bu değişkeni terminalden şu şekilde tanımlayabilirsiniz:

export DB_PASSWORD=mysecretpassword


Docker Compose ile Çalışırken Dikkat Edilmesi Gerekenler


Docker Compose kullanırken dikkat etmeniz gereken birkaç önemli nokta var:

1. YAML Formatına Dikkat Edin: Docker Compose dosyanızda yazdığınız her şey YAML formatında olmalıdır. Format hataları sıkça karşılaşılan bir sorun olabilir, bu yüzden her zaman dosyanızı dikkatlice kontrol edin.
2. Konteynerlerin Bağımlılıkları: Eğer servislerinizin birbirine bağlı olması gerekiyorsa, bunların doğru sırayla başlatıldığından emin olun. Docker Compose, bağımlı konteynerlerin sırasını otomatik olarak yönetir, ancak bazen manuel müdahale gerekebilir.
3. Port Çakışmaları: Uygulamanızda kullanılan portların başka bir serviste kullanılmadığından emin olun. Port çakışmaları, servisin çalışmamasına neden olabilir.

Sonuç


Docker Compose, Docker ile çalışan geliştiriciler için vazgeçilmez bir araçtır. Birkaç basit komutla, karmaşık yapılandırmaları yönetmek, birden fazla servisi aynı anda başlatmak ve uygulamanızın tüm bileşenlerini kolayca yönetmek mümkündür. Linux kullanıcıları için Docker Compose, hem geliştirme sürecini hızlandırır hem de dağıtım aşamalarını daha verimli hale getirir.

Unutmayın, Docker Compose ile daha fazla şey yapabilirsiniz. Kendi projelerinizde denemeler yaparak, araçla ilgili daha fazla şey keşfedebilirsiniz.

İlgili Yazılar

Benzer konularda diğer yazılarımız

Modern Yazılım Geliştirme Süreçlerinde Yapay Zeka ve Otomasyonun Rolü: 2025’te Yeni Başlangıçlar

Yazılım geliştirme dünyası hızla evriliyor. 2025 yılına adım attığımızda, bu süreçte yapay zeka ve otomasyonun rolü hiç olmadığı kadar önemli hale geldi. Geçmişte yazılım geliştirme yalnızca kod yazmak ve sistemleri test etmekle sınırlıydı. Ancak bugünün...

Yazılım Geliştiriciler İçin Verimli Çalışma Alanı Oluşturmanın İpuçları: En İyi Araçlar ve Yöntemler

Verimli Bir Çalışma Alanı Neden Önemlidir?Yazılım geliştirici olmanın zorluklarından biri de sürekli odaklanmış ve üretken olabilmektir. Bir geliştirici olarak, işlerinizin çoğunu bilgisayar başında geçirirsiniz ve bu süre zarfında verimli bir çalışma...

Kodunuzu Temiz Tutun: Yazılımda 'Yavaş Kodu' Tespit Etmenin 7 Etkili Yolu

Yazılım geliştirme dünyasında zamanın ne kadar kıymetli olduğunu hepimiz biliyoruz. Yazdığınız kodun hızlı ve verimli olması, projelerinizi başarılı kılmanın anahtarıdır. Ama ne yazık ki, çoğu zaman kodu hızlı yazmak uğruna temizliği ihmal edebiliriz....