Bir sabah uyanıp, bir uygulama geliştirmek veya bir servisi kolayca yönetmek için container tabanlı bir çözüm arayışına girdiniz. O an aklınıza gelen ilk şey Docker oldu. Ancak, Docker'ı tek başına kullanmak yeterli olmayabiliyor. Evet, Docker konteynerlarını çalıştırmak harika, fakat birçok servisle çalışmak durumunda kaldığınızda işiniz biraz karmaşıklaşabiliyor. İşte burada Docker Compose devreye giriyor! Docker Compose, birden fazla konteyneri tanımlamanıza ve bunları tek bir komutla başlatmanıza olanak tanır. Bu yazımızda Docker Compose kullanarak Linux üzerinde nasıl kolayca uygulamalar başlatabileceğinizi adım adım anlatacağız.
Docker Compose Nedir?
Docker Compose, özellikle birden fazla konteyner ile çalışan uygulamaları yönetmek için kullanılan bir araçtır. Birden fazla servisi tek bir yapılandırma dosyasında tanımlamanıza olanak verir. Bu, birden fazla mikro hizmetle çalışan bir uygulama tasarlarken çok işinize yarar. Her servisi ayrı ayrı başlatmak yerine, tüm servisleri bir arada yönetmek için Compose kullanabilirsiniz.
Örnek vermek gerekirse, bir web uygulamanız var ve bu uygulama veri tabanı, caching servisi gibi birçok servise ihtiyaç duyuyor. Docker Compose ile bu servislerin her birini tanımlayıp, tek bir komutla hepsini çalıştırabilirsiniz.
Docker Compose Yükleme
Docker Compose’u Linux’a yüklemek için aşağıdaki adımları takip edebilirsiniz:
1. İlk olarak, Docker’ın sisteminizde kurulu olması gerekir. Docker’ı yüklemek için şu komutları kullanabilirsiniz:
sudo apt-get update
sudo apt-get install docker.io
2. Docker Compose’u yüklemek için aşağıdaki komutları izleyin:
sudo apt-get install curl
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
3. Yüklemenin başarılı olup olmadığını kontrol etmek için şu komutu çalıştırabilirsiniz:
docker-compose --version
Docker Compose Dosyasının Yapılandırılması
Docker Compose ile çalışmanın anahtarı, docker-compose.yml adlı yapılandırma dosyasını doğru şekilde hazırlamaktır. Bu dosya, hangi servislerin çalıştırılacağına, hangi portların açık olacağına ve konteynerlerin nasıl bağlantı kuracağına dair bilgileri içerir.
Bir örnek üzerinden gidelim. Diyelim ki bir web uygulamanız var ve bu uygulama bir MySQL veritabanı kullanıyor. O zaman şu şekilde bir docker-compose.yml dosyası oluşturabilirsiniz:
version: "3"
services:
web:
image: nginx:latest
ports:
- "8080:80"
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: example
MYSQL_DATABASE: mydb
ports:
- "3306:3306"
Bu dosyada web ve db adında iki servis tanımladık. Web servisi nginx image’ını kullanıyor ve 8080 portunu 80 portuna bağlıyor. Veritabanı servisi ise mysql image’ını kullanıyor ve root şifresi ile veritabanı adını yapılandırıyor.
Docker Compose ile Uygulamaları Başlatma
Docker Compose dosyasını hazırladıktan sonra, tek bir komutla tüm servislerinizi başlatabilirsiniz. Terminalinize şu komutu yazmanız yeterlidir:
docker-compose up
Bu komut, docker-compose.yml dosyasındaki servisleri başlatır ve tüm konteynerları çalıştırır. Eğer arka planda çalıştırmak isterseniz şu komutu kullanabilirsiniz:
docker-compose up -d
Docker Compose ile Servisleri Durdurma
Çalışan servislerinizi durdurmak için aşağıdaki komutu kullanabilirsiniz:
docker-compose down
Bu komut, çalıştırdığınız tüm konteynerları durdurur ve oluşturulan ağları temizler.
Docker Compose ile Logs Takibi
Servislerin loglarını takip etmek de oldukça kolay. Aşağıdaki komutla, konteynerlarınızın loglarını görebilirsiniz:
docker-compose logs
Eğer sadece belirli bir servisin loglarına göz atmak isterseniz:
docker-compose logs web
Docker Compose ile DevOps Süreçlerinizi Hızlandırın
Docker Compose, yazılım geliştirme ve DevOps süreçlerinde ciddi zaman kazançları sağlayan bir araçtır. Birden fazla servisi yönetmek ve onları tek bir yapılandırma dosyasına entegre etmek, projelerinizi çok daha düzenli ve hızlı hale getirir. Özellikle mikroservis mimarisi ile çalışıyorsanız, her servisi bir konteynerde çalıştırmak uygulamanızı çok daha ölçeklenebilir hale getirir.
Sonuç
Docker Compose ile tanışmak, devasa projelerinizi daha hızlı ve verimli bir şekilde yönetmenize yardımcı olabilir. Linux üzerinde Docker Compose kurulumunu tamamladıktan sonra, birden fazla servisi kolayca yapılandırabilir ve başlatabilirsiniz. Her şeyin kontrol altında olduğu bu dünya, yazılım geliştirme sürecinizi adeta uçurur. Şimdi, bu aracı kullanarak kendi projelerinizi hızla geliştirmeye başlayabilirsiniz!