Docker Compose komut satırı (CLI) nasıl kullanılır?

Docker Compose Nedir?

Docker Compose, birden fazla Docker konteynerini bir arada yönetmek için kullanılan bir araçtır. Uygulama üzerinde çalışmaya başlamak için gerekli olan tüm servisleri, ağları ve veri hacimlerini tanımlamak amacıyla bir YAML dosyası kullanır. Bu özellik, geliştiricilere uygulamaları için karmaşık yapıları basit bir şekilde oluşturma ve dağıtma imkanı tanır. Docker Compose, mikro hizmet mimarisi ile çalışan uygulamalar için idealdir ve birden fazla servisi kolay bir şekilde başlatma, durdurma ve yönetme olanağı sağlar.

Docker Compose Kurulumu

Docker Compose kullanabilmek için öncelikle Docker’ın kurulu olması gerekmektedir. Docker yüklendikten sonra, Compose kurulumunu gerçekleştirmek için komut satırında aşağıdaki komut çalıştırılmalıdır:

“`bash
sudo curl -L “https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)” -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
“`

Kurulum tamamlandıktan sonra, Docker Compose sürümünü kontrol etmek için şu komut kullanılabilir:

“`bash
docker-compose –version
“`

Docker Compose Dosyası (docker-compose.yml)

Docker Compose, uygulamanın yapılandırmasını belirlemek için `docker-compose.yml` isimli bir dosya kullanır. Bu dosya, hangi hizmetlerin çalıştırılacağını, hangi imajların kullanılacağını ve diğer yapılandırma ayarlarını içerir. Aşağıda basit bir Docker Compose dosyası örneği verilmiştir:

“`yaml
version: ‘3’
services:
web:
image: nginx:alpine
ports:
– “8080:80”
db:
image: postgres:alpine
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: password
“`

Yukarıdaki örnekte iki servis tanımlanmıştır: `web` ve `db`. `web` servisi Nginx imajını kullanırken, `db` servisi PostgreSQL imajını kullanmaktadır. Ayrıca `web` servisi, dışarıdan 8080 portunu host makinesine yönlendirmektedir.

Docker Compose Komutları

Docker Compose CLI, birçok farklı komut sunar. Bu komutlar, uygulamaların yönetimini kolaylaştırır. Aşağıda en popüler komutlar ve bunların kullanımları verilmiştir:

1. `docker-compose up`

Bu komut, tanımlı olan tüm servisleri başlatır. Eğer ilk defa çalıştırılıyorsa, ilgili imajları indirme ve konteynerleri oluşturma işlemleri de yapılır. Komutun arkasına `-d` parametresi eklenirse, tüm servisler arka planda çalışır.

“`bash
docker-compose up
docker-compose up -d
“`

2. `docker-compose down`

Çalışan tüm servisleri durdurmak ve kaldırmak için `docker-compose down` komutu kullanılır. Bu komut aynı zamanda oluşturulan ağlar ve veri hacimleri de dahil olmak üzere tüm kaynakları siler.

“`bash
docker-compose down
“`

3. `docker-compose ps`

Bu komut, o anki çalışma durumundaki konteynerleri listeler. Hangi konteynerlerin çalıştığını ve durumlarını görmek için kullanılır.

“`bash
docker-compose ps
“`

4. `docker-compose logs`

Hizmetlerin günlüklerini görüntülemek için `docker-compose logs` komutu kullanılır. Belirli bir hizmetin günlüklerini görmek için hizmet adı da verilebilir.

“`bash
docker-compose logs
docker-compose logs web
“`

5. `docker-compose exec`

Bu komut, çalışan bir konteynerin içinde komut çalıştırmak için kullanılır. Örneğin, web servisi içinde bir kabuk açmak için aşağıdaki komut kullanılabilir.

“`bash
docker-compose exec web sh
“`

6. `docker-compose build`

Eğer özel bir Dockerfile kullanılıyorsa veya bir hizmetin yeniden inşa edilmesi gerekiyorsa, `docker-compose build` komutu kullanılabilir. Bu komut, tanımlı olan imajları oluşturur.

“`bash
docker-compose build
“`

Docker Compose ile Ortam Değişkenleri

Docker Compose, uygulama ortamında kullanılacak olan değişkenleri ayarlamak için `environment` anahtar kelimesini kullanır. Böylece, kullanıcıdan alınan veya gizli kalması gereken bilgiler doğrudan Docker Compose dosyaları içinde tutulmuş olur. Alternatif olarak, `.env` dosyası kullanılarak değişkenler yapılandırılabilir.

“`yaml
version: ‘3’
services:
web:
image: nginx:alpine
environment:
– NODE_ENV=production
“`

Sonuç

Docker Compose, birden fazla konteyner ile çalışan uygulamaların yönetilmesini kolaylaştıran etkili bir araçtır. CLI komutları sayesinde, uygulamanın başlatılması, durdurulması ve yönetilmesi oldukça basitleşir. Doğru yapılandırma ile geliştiriciler, gerektiğinde hızla değişiklik yapabilir ve uygulama ortamlarını kolaylıkla yönetebilir. Docker Compose, mikro hizmet mimarisi gibi modern uygulama gereksinimlerini karşılamak için önemli bir bileşen olarak kullanılmaktadır.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz

SON İÇERİKLER

İLGİNİZİ ÇEKEBİLİR