Docker Nedir?
Docker, yazılımlarınızı "konteyner" adı verilen bağımsız ortamlar içinde çalıştıran bir platformdur. Kısacası, yazılım geliştirme ve dağıtım sürecini daha verimli hale getirir. Docker sayesinde, yazılımınız her ortamda aynı şekilde çalışır. Ancak bazen birden fazla Docker konteynerini bir arada çalıştırmanız gerekebilir. İşte burada Docker Compose devreye giriyor.
Docker Compose Nedir?
Docker Compose, çoklu konteyner uygulamalarını tanımlamanıza ve çalıştırmanıza yardımcı olan bir araçtır. Kendi başına güçlü bir araç olan Docker, birden fazla konteynerle çalıştığınızda işleri yönetmek biraz karmaşıklaşabilir. Docker Compose ise birden fazla konteynerin yönetimini tek bir konfigürasyon dosyasıyla yapmanıza olanak tanır.
Docker Compose ile, birden fazla servis (web sunucusu, veritabanı, cache gibi) içeren bir uygulamanın tüm bileşenlerini bir araya getirip tek bir komutla başlatabilirsiniz. Böylece, her bir konteyner için ayrı ayrı komutlar yazmak yerine, her şeyin doğru sırayla ve doğru ortamda çalıştığından emin olabilirsiniz.
Docker Compose ile İlk Adım
Docker Compose kullanmaya başlamak çok kolaydır. İlk adım, Docker Compose’u kurmak. Bunun için terminal veya komut satırını açarak şu komutu çalıştırabilirsiniz:
sudo apt install docker-compose
Docker Compose kurulumunu başarıyla tamamladığınızda, projenize özel bir `docker-compose.yml` dosyası oluşturmanız gerekir. Bu dosya, uygulamanızın tüm servislerini tanımladığınız dosyadır. Şimdi, basit bir `docker-compose.yml` dosyası oluşturalım.
Basit Bir Docker Compose Yapılandırması
Diyelim ki bir web uygulamanız var ve bu uygulama bir veritabanına ihtiyaç duyuyor. İşte bunun için bir `docker-compose.yml` dosyasının nasıl görünebileceğine dair basit bir örnek:
version: '3'
services:
web:
image: nginx
ports:
- "8080:80"
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: example
Yukarıdaki yapılandırmada, `web` servisi Nginx ile bir web sunucusu başlatırken, `db` servisi de MySQL veritabanını başlatır. Bu yapılandırma sayesinde, sadece bir komutla her iki konteyneri de başlatabiliriz.
Docker Compose ile Projeyi Çalıştırmak
Şimdi, yazdığınız `docker-compose.yml` dosyasını çalıştırmak için terminalde şu komutu kullanabilirsiniz:
docker-compose up
Bu komut, yapılandırma dosyasındaki her servisi başlatacak ve ilgili konteynerler çalışmaya başlayacaktır. Web sunucusunu tarayıcınızda `http://localhost:8080` adresinde görüntüleyebilirsiniz.
Docker Compose ile Proje Durdurmak
Projeyi durdurmak için terminalde şu komutu yazabilirsiniz:
docker-compose down
Bu komut, tüm konteynerleri durduracak ve kullanılan kaynakları temizleyecektir.
Docker Compose ile Çalışma Ortamını Temizlemek
Eğer projeyi tamamen temizlemek istiyorsanız ve kullanılmayan konteynerleri kaldırmak istiyorsanız, şu komutu kullanabilirsiniz:
docker-compose down --volumes
Bu komut, yalnızca konteynerleri durdurmakla kalmaz, aynı zamanda projeye ait veritabanı gibi veri hacimlerini de siler.
Sonuç
Docker Compose, birden fazla konteyneri yönetmeyi çok daha basit hale getirir. Yalnızca tek bir komutla tüm uygulamanızı başlatabilir, durdurabilir ve temizleyebilirsiniz. Docker ve Docker Compose'un gücünü kullanarak projelerinizin her ortamda sorunsuz çalıştığından emin olabilirsiniz. Unutmayın, her proje farklıdır ve Docker Compose’un sunduğu esneklik, farklı servisler için yapılandırma yapmanıza olanak tanır.
Şimdi Docker Compose ile projelerinizi çok daha verimli bir şekilde yönetebilirsiniz. Hadi, sizin de Docker Compose’u deneyimleme zamanınız geldi!