Docker Compose Nedir?
Docker Compose, birden fazla Docker konteynerini aynı anda yönetebilmek için kullanılan güçlü bir araçtır. Tek bir komutla, çoklu konteyner uygulamalarını çalıştırmak ve yönetmek mümkündür. Ancak, bazen Windows ortamında Docker Compose kullanmak karmaşık görünebilir. Bu yazıda, Docker Compose’u Windows üzerinde nasıl kuracağınızı ve kullanacağınızı adım adım öğreneceksiniz.
Docker Compose Kurulumu
Docker Compose’u Windows üzerinde kullanabilmek için öncelikle Docker Desktop’ı kurmanız gerekiyor. Docker Desktop, hem Docker Engine’i hem de Docker Compose’u içerir.
Adım 1: Docker Desktop’ı İndirin ve Kurun
Docker Desktop’ı indirip kurarak başlayın. Docker Desktop, Docker'ı ve Compose’u Windows üzerinde çalıştırabilmeniz için gereken tüm bileşenleri içerir. [Docker Desktop İndir](https://www.docker.com/products/docker-desktop) sayfasından gerekli dosyayı indirip kurulum adımlarını takip edin.
Adım 2: Docker Desktop’ı Başlatın
Kurulum tamamlandıktan sonra Docker Desktop’ı başlatın. İlk açılışta Docker, gerekli bileşenleri yükler ve Windows Subsystem for Linux (WSL) desteğini etkinleştirir. Bu işlem biraz zaman alabilir, sabırlı olun.
Adım 3: Docker Compose'un Kurulumu
Docker Desktop’ı başlattıktan sonra, Docker Compose otomatik olarak yüklenecektir. Bunun doğruluğunu kontrol etmek için terminali açıp aşağıdaki komutu yazabilirsiniz:
kopyaladocker-compose --version
Eğer her şey yolunda gittiyse, terminalde Docker Compose sürümünü göreceksiniz.
Docker Compose ile Proje Başlatma
Artık Docker Compose’u kurduğunuza göre, bir proje oluşturma zamanı! Hadi, basit bir örnek üzerinden gidelim.
Adım 1: Bir Proje Dizini Oluşturun
Windows’ta herhangi bir dizin altında, yeni bir proje klasörü oluşturun. Örneğin, "docker-compose-proje" isminde bir klasör açabilirsiniz. Bu klasörde tüm dosyalarımızı barındıracağız.
kopyalamkdir docker-compose-proje cd docker-compose-proje
Adım 2: Docker Compose Dosyasını Oluşturun
Docker Compose, tüm servislerinizi bir YAML dosyasında tanımlar. Bu dosya, konteynerlerinizi ve ağ yapılandırmalarınızı belirtir. Örneğin, basit bir Node.js uygulaması çalıştırmak için bir "docker-compose.yml" dosyası oluşturacağız. Bu dosyayı açın ve şu içeriği ekleyin:
kopyalaversion: '3' services: web: image: node:14 working_dir: /app volumes: - .:/app ports: - "3000:3000" command: npm start
Bu dosya, bir Node.js uygulamasını Docker içinde çalıştıracak şekilde yapılandırılmıştır. Geliştirme sırasında yerel dosyalarınız, konteyner ile paylaşılacak ve 3000 portu üzerinden erişilebilecektir.
Adım 3: Docker Compose’u Çalıştırın
Şimdi terminalde, oluşturduğunuz proje dizinine gidin ve aşağıdaki komutla Docker Compose’u başlatın:
kopyaladocker-compose up
Bu komut, Docker Compose dosyanızda tanımlanan tüm servisleri başlatacaktır. Eğer her şey doğru yapılandırıldıysa, Node.js uygulamanız 3000 portu üzerinden çalışmaya başlayacak.
Docker Compose ile Çalışmayı Geliştirme
Docker Compose ile çalışırken, birçok farklı servisi aynı anda yönetebilirsiniz. Örneğin, bir veritabanı servisi eklemek istiyorsanız, sadece “docker-compose.yml” dosyanıza bir servis daha eklemeniz yeterlidir. İşte basit bir MongoDB veritabanı servisi eklemek için yapmanız gerekenler:
kopyalaversion: '3' services: web: image: node:14 working_dir: /app volumes: - .:/app ports: - "3000:3000" command: npm start db: image: mongo ports: - "27017:27017"
Bu dosyada, “db” adında bir MongoDB servisi ekledik. Web servisi ile aynı ağda çalışacak olan MongoDB, 27017 portu üzerinden erişilebilir olacak.
Adım 4: Servisleri Yeniden Başlatma
Değişiklikleri yaptıktan sonra, Docker Compose’u yeniden başlatmak için şu komutu kullanabilirsiniz:
kopyaladocker-compose down docker-compose up
Sonuç
Docker Compose, özellikle çoklu konteyner uygulamaları ile çalışırken, büyük bir zaman kazancı sağlar. Windows üzerinde Docker Compose kullanmak başlangıçta biraz karmaşık görünse de, doğru adımları takip ettiğinizde, projelerinizi hızlı ve verimli bir şekilde çalıştırabilirsiniz.
Eğer Docker Compose ile ilgili daha fazla bilgi edinmek isterseniz, Docker’ın resmi belgelerini ve topluluk forumlarını inceleyebilirsiniz. Ancak, artık adım adım öğrenme sürecinizin büyük bir kısmını tamamladınız!