Docker Compose Nasıl Kullanılır? Linux İçin Adım Adım Rehber

Docker Compose, Linux üzerinde kolayca kullanabileceğiniz ve çoklu konteynerlerin yönetimini basitleştiren bir araçtır. Bu rehberde, Docker Compose ile uygulama oluşturma, servislere ortam değişkenleri ekleme ve yönetim komutları hakkında detaylı bilgi bu

BFS

Docker Compose, Docker konteynerlerini bir arada yönetebilmenizi sağlayan güçlü bir araçtır. Eğer bir uygulamanın birden fazla servise ihtiyacı varsa, Docker Compose ile her servisi ayrı bir konteynerde çalıştırabilir ve hepsini kolayca yönetebilirsiniz. Linux üzerinde Docker Compose kullanmak oldukça basittir. Bu yazıda adım adım Docker Compose ile nasıl çalışacağınızı, konteynerlerinizi nasıl yönetebileceğinizi ve bazı pratik ipuçlarını paylaşacağım.

Docker Compose Nedir ve Neden Kullanılır?


Docker Compose, Docker konteynerlerini tanımlamak ve çalıştırmak için kullanılan bir araçtır. Özellikle mikroservis mimarisine sahip uygulamalarda oldukça faydalıdır. Docker Compose ile her servisi kendi konteynerinde çalıştırabilir ve bu servislere ait tüm ayarları tek bir dosya üzerinden yönetebilirsiniz. Bu sayede farklı servisler arasında iletişim kurmak, ortam değişkenlerini ayarlamak ve logları takip etmek çok daha kolay hale gelir.

Docker Compose Kurulumu


Docker Compose kullanabilmek için öncelikle sisteminize Docker’ın kurulu olması gerekiyor. Eğer Docker kurulu değilse, önce Docker'ı kurmamız gerek.

1. Docker'ı kurmak için terminali açın ve aşağıdaki komutu çalıştırın:

sudo apt update
sudo apt install docker.io


2. Docker'ı kurduktan sonra, Docker Compose'u kurmak için şu komutları takip edin:


sudo apt install curl
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


3. Kurulumun tamamlandığını doğrulamak için aşağıdaki komutu çalıştırabilirsiniz:


docker-compose --version


Eğer her şey doğru şekilde kurulmuşsa, Docker Compose’un sürümü terminalde görünecektir.

Docker Compose ile Basit Bir Uygulama Kurma


Docker Compose’u kurduktan sonra, şimdi bir uygulama oluşturmanın zamanı geldi. Bu bölümde basit bir web uygulaması kurarak nasıl çalıştığını göstereceğim.

1. İlk olarak bir dizin oluşturun ve içine bir Docker Compose dosyası (`docker-compose.yml`) ekleyin:


mkdir myapp
cd myapp
touch docker-compose.yml


2. `docker-compose.yml` dosyasına aşağıdaki içeriği ekleyin. Bu örnekte, basit bir Nginx servisi çalıştıracağız:


version: '3'
services:
  web:
    image: nginx:latest
    ports:
      - "8080:80"


Bu dosya, Nginx’in en son sürümünü kullanarak bir konteyner çalıştırır ve 8080 portunu 80 portuna yönlendirir. Yani, tarayıcınızda `http://localhost:8080` adresini açarak Nginx’in varsayılan sayfasını görebilirsiniz.

3. Docker Compose dosyasını kaydettikten sonra, terminalden aşağıdaki komutu çalıştırarak servisi başlatın:


docker-compose up


Bu komut, `docker-compose.yml` dosyasını kullanarak gerekli konteynerleri başlatır. Artık tarayıcınızda `http://localhost:8080` adresine giderek Nginx’in varsayılan sayfasını görebilirsiniz.

Docker Compose ile Çalışma ve Yönetim


Docker Compose kullanarak birden fazla konteyner çalıştırabilir ve bunları kolayca yönetebilirsiniz. İşte bazı temel komutlar:

- Konteynerleri başlatmak için:

docker-compose up


- Arka planda konteynerleri çalıştırmak için:

docker-compose up -d


- Çalışan konteynerleri durdurmak için:

docker-compose down


- Konteynerleri yeniden başlatmak için:

docker-compose restart


Docker Compose ile Çoklu Servisler


Birçok uygulama, sadece bir konteynerle sınırlı kalmaz. Örneğin, bir web uygulamasının veri tabanı, arka planda çalışan bir API servisi gibi birçok servise ihtiyacı olabilir. Docker Compose, bu tür bir yapı için mükemmel bir çözüm sunar.

Aşağıdaki örnekte, hem Nginx hem de PostgreSQL servisi çalıştırıyoruz:


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


Bu dosyada, bir web servisi ve bir veri tabanı servisi bulunuyor. Web servisi Nginx ile çalışırken, db servisi PostgreSQL veritabanını çalıştırır. Bu tür bir yapı, mikroservis mimarisine uygun bir şekilde kolayca genişletilebilir.

Docker Compose ile Ortam Değişkenleri


Konteynerler arasında iletişim kurarken bazen ortam değişkenlerine ihtiyaç duyabilirsiniz. Docker Compose, bu ortam değişkenlerini kolayca yapılandırmanıza olanak tanır. Örneğin, bir web servisi için bir API anahtarı belirlemek gerekebilir.


version: '3'
services:
  web:
    image: nginx:latest
    environment:
      - API_KEY=your_api_key_here


Bu şekilde ortam değişkenleri tanımlanabilir ve servisinizi başlattığınızda bu değişkenler otomatik olarak konteynerlere aktarılır.

Sonuç


Docker Compose, çoklu konteynerler ile çalışmayı son derece kolaylaştıran bir araçtır. Bu yazıda, Linux üzerinde Docker Compose ile nasıl hızlıca başlayabileceğinizi, basit bir uygulama kurarak ve Docker Compose komutlarını kullanarak nasıl yönetebileceğinizi öğrendiniz. Docker Compose ile birden fazla servisi bir arada çalıştırabilir, uygulamanızın yönetimini basitleştirebilir ve hızla geliştirme yapabilirsiniz. Umarım bu rehber size yardımcı olmuştur!

İlgili Yazılar

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

SonarQube ile Kod Analizi Nasıl Yapılır? Adım Adım Rehber

SonarQube Nedir?SonarQube, yazılım geliştiricilerinin kodlarını analiz ederek, hataları ve potansiyel sorunları tespit etmelerine yardımcı olan güçlü bir araçtır. Bir tür "kod doktoru" olarak, yazılımlarınızı inceleyip sağlıklı olup olmadığını söyler....

DirectAdmin Nasıl Kurulur ve Yapılandırılır?

DirectAdmin Nedir ve Neden Kullanılır?Merhaba arkadaşlar! Bugün, birçok web yöneticisinin en çok tercih ettiği kontrol paneli olan DirectAdmin’i nasıl kuracağımızı ve yapılandıracağımızı keşfedeceğiz. İlk başta, DirectAdmin nedir, biraz ondan bahsedelim.DirectAdmin,...

Cronjob 'Not Running' Hatası ve Çözümü: Sorunları Çözmenin Adımları

Bir sabah işinize başlamadan önce, otomatik olarak çalışması gereken bir cronjob’ın neden çalışmadığını düşündünüz mü? Ne yazık ki, bu tür sorunlarla karşılaşmak oldukça yaygın, ancak çözümü de bir o kadar basit olabilir. Eğer siz de cronjob 'Not Running'...