Docker Compose Nedir?
Docker Compose, birden fazla Docker konteynerini tanımlamak ve çalıştırmak için kullanılan bir araçtır. Yani, eğer bir uygulamanız birden fazla servise ihtiyaç duyuyorsa (örneğin, bir veritabanı ve bir web uygulaması gibi), her birini ayrı ayrı çalıştırmak yerine, Docker Compose ile tüm bu servisleri tek bir komutla başlatabilirsiniz. Bu sayede birden fazla konteynerin birbirleriyle uyum içinde çalışmasını kolayca sağlarsınız. Docker Compose ile her şey bir arada; yapılandırmalar, ağ bağlantıları ve veritabanı bağlantıları da dahil.
Docker Compose Nasıl Kurulur?
Linux üzerinde Docker Compose kurmak oldukça basit. Adım adım kurulum sürecine bakalım:
1. Docker'ı Kurun
Docker Compose kullanmadan önce Docker'ın sisteminizde kurulu olması gerekir. Docker'ı kurmak için aşağıdaki komutları kullanabilirsiniz:
sudo apt update
sudo apt install docker.io
2. Docker Compose'u Kurun
Docker Compose’u kurmak için, en son sürümü indirmeniz gerekecek. Aşağıdaki komut ile Compose'u 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
3. Çalıştırma İzinleri Verin
Docker Compose çalıştırılabilir dosyasına izin verin:
sudo chmod +x /usr/local/bin/docker-compose
4. Kurulumu Doğrulama
Docker Compose’un doğru bir şekilde kurulduğunu kontrol etmek için aşağıdaki komutu kullanabilirsiniz:
docker-compose --version
Bu komut, yüklü olan Docker Compose sürümünü gösterecektir. Eğer sürümü görüyorsanız, her şey hazır demektir!
Docker Compose ile Basit Bir Proje Çalıştırmak
Docker Compose kullanarak bir web uygulaması ve veritabanını kolayca çalıştırabilirsiniz. Örnek olarak, bir Node.js uygulaması ve MongoDB'yi birlikte çalıştırmak için basit bir `docker-compose.yml` dosyası oluşturalım. Bu dosya, Docker Compose’un uygulamanızı ve veritabanınızı doğru bir şekilde başlatmasını sağlar.
docker-compose.yml Dosyasının İçeriği:
Aşağıdaki içeriği bir `docker-compose.yml` dosyasına yazın:
version: '3'
services:
web:
image: node:14
container_name: node_app
working_dir: /app
volumes:
- .:/app
command: npm start
ports:
- "3000:3000"
depends_on:
- db
db:
image: mongo:latest
container_name: mongo_db
volumes:
- db_data:/data/db
volumes:
db_data:
Bu dosyada, iki servis tanımladık: `web` ve `db`. `web` servisi, Node.js uygulamanızı çalıştırırken, `db` servisi MongoDB veritabanını çalıştıracaktır. Bu sayede tek bir komutla her ikisini de başlatabiliriz.
5. Docker Compose ile Başlatma
Şimdi, Docker Compose ile projeyi başlatabiliriz. Aynı dizinde olduğunuzdan emin olun ve aşağıdaki komutu çalıştırın:
docker-compose up
Bu komut, belirtilen Docker konteynerlerini başlatacak ve tüm servislere erişim sağlayacaktır.
Docker Compose ile Çalışırken Dikkat Edilmesi Gerekenler
Docker Compose kullanırken göz önünde bulundurmanız gereken birkaç önemli nokta var:
1. Çevresel Değişkenler:
Projelerde veritabanı bağlantı bilgileri veya uygulama ayarları gibi bilgileri `.env` dosyasına eklemek iyi bir uygulamadır. Bu sayede hem güvenlik sağlanır hem de yapılandırmalar yönetilebilir hale gelir.
2. Hızlı ve Kolay Test Ortamları:
Docker Compose, hızlı bir şekilde test ortamları oluşturmanıza olanak tanır. Gerçekten harika bir özellik, değil mi? Farklı uygulama bileşenlerini, veritabanlarını veya sunucuları aynı anda çalıştırarak testlerinizi kolayca gerçekleştirebilirsiniz.
3. Farklı Ortamlar İçin Yapılandırmalar:
Docker Compose, farklı ortamlar için farklı yapılandırmalar kullanmanıza olanak tanır. Örneğin, geliştirme ve üretim ortamlarınız için farklı ayarları tanımlayabilirsiniz.
Docker Compose Komutları
Docker Compose’u kullanırken bazı temel komutları öğrenmek, işinizi oldukça kolaylaştıracaktır:
- docker-compose up: Servisleri başlatır.
- docker-compose down: Servisleri durdurur ve konteynerleri kaldırır.
- docker-compose logs: Çalışan servislerin loglarını görüntüler.
- docker-compose ps: Çalışan konteynerlerin durumunu gösterir.
6. Docker Compose ile Uygulama Yönetimi
Bir uygulama çalıştırmak sadece başlatmakla bitmez! Docker Compose ile bu uygulamayı yönetmek çok kolay. İstediğiniz zaman durdurabilir, yeniden başlatabilir veya logları inceleyebilirsiniz.
Sonuç: Docker Compose ile Verimli Çalışma
Linux üzerinde Docker Compose kullanmak, özellikle çoklu konteyner yönetimi gerektiren projelerde işleri son derece kolaylaştırır. Tek bir dosya ile tüm yapılandırmalarınızı yönetebilir, servislerinizi başlatabilir ve uygulamanızın farklı bileşenlerinin uyumlu bir şekilde çalışmasını sağlayabilirsiniz. Docker Compose’un gücünden faydalandığınızda, projelerinizin daha hızlı ve verimli bir şekilde geliştiğini göreceksiniz.
Evet, bu kadar basit! Docker Compose ile Linux üzerinde uygulama yönetimi artık daha eğlenceli ve verimli. Haydi, hemen Docker Compose'u kullanarak projelerinizi kolayca başlatın ve yönetmeye başlayın!