Docker Nedir ve Neden Mikroservis Mimarisi?
Docker, yazılım uygulamalarını "container" adı verilen bağımsız ve hafif sanal ortamlarda çalıştırmanızı sağlayan bir platformdur. Bu container'lar, yazılımın çalışması için gereken tüm bağımlılıkları içinde barındırır. Yani, bir uygulama bir container içinde çalıştırıldığında, o uygulamanın çalışması için gereken her şey—kütüphaneler, çerçeveler ve diğer bileşenler—o container’da önceden paketlenmiştir.
Mikroservis mimarisi ise, bir uygulamanın küçük ve bağımsız çalışan parçalara bölünerek her bir parçanın ayrı bir hizmet olarak işlev görmesini sağlar. Docker, mikroservislerin bu şekilde izole bir ortamda, hızlı ve güvenilir bir biçimde çalışmasını mümkün kılar.
Adım 1: Docker Kurulumu
Docker'ı bilgisayarınıza kurmak için öncelikle [Docker'ın resmi web sitesine](https://www.docker.com/get-started) gidin. İhtiyacınıza göre Windows, macOS veya Linux için uygun versiyonu indirin. İndirme işlemi tamamlandıktan sonra, Docker Desktop uygulamasını başlatın. Docker'ın kurulumunu ve çalışır durumda olup olmadığını test etmek için terminal veya komut istemcisinde şu komutu yazabilirsiniz:
docker --versionEğer kurulum başarılıysa, terminalde Docker'ın sürüm numarasını göreceksiniz.
Adım 2: Docker Compose ile Mikroservisleri Yönetme
Mikroservisler genellikle birden fazla servisi içerir. Bu servislerin her biri farklı container'larda çalıştığı için, tüm sistemi yönetmek ve bu container'lar arasındaki iletişimi sağlamak için Docker Compose kullanabilirsiniz. Docker Compose, birden fazla Docker container'ını tanımlamanıza ve çalıştırmanıza olanak tanır.
Örnek bir `docker-compose.yml` dosyası ile başlayalım:
version: '3'
services:
app:
image: myapp:latest
ports:
- "5000:5000"
networks:
- app_network
db:
image: postgres:latest
environment:
POSTGRES_PASSWORD: example
networks:
- app_network
networks:
app_network:
driver: bridge
Bu `docker-compose.yml` dosyasını kullanarak, iki ayrı servis tanımladık: bir web uygulaması (`app`) ve veritabanı servisi (`db`). Bu iki servis birbirine bağlı olacak ve aynı ağ üzerinden iletişim kuracak.
Adım 3: Mikroservisleri Çalıştırma ve Test Etme
Docker Compose dosyanız hazır olduğunda, mikroservislerinizi çalıştırmak için şu komutu kullanabilirsiniz:
docker-compose upBu komut, belirttiğiniz tüm container’ları başlatır ve bunları birbirleriyle iletişim halinde çalıştırır. Her şey yolunda giderse, web uygulamanızın doğru şekilde çalıştığını ve veritabanı bağlantısının sağlandığını göreceksiniz.
Adım 4: Mikroservislerin Ölçeklenmesi
Docker, mikroservislerinizi kolayca ölçeklendirmenize olanak tanır. Örneğin, uygulamanızın yükünü artırmak istiyorsanız, sadece `docker-compose.yml` dosyasındaki servisin sayısını artırarak yeni container'lar ekleyebilirsiniz. Bunun için aşağıdaki komutu kullanabilirsiniz:
docker-compose scale app=3Bu komut, `app` servisini üç adet container ile çalıştırmaya başlar. Böylece uygulamanızın performansı arttıkça, Docker'ın sağladığı esneklik ile bu yükü kolayca yönetebilirsiniz.
Adım 5: Mikroservislerin Yönetilmesi ve İzlenmesi
Docker ile mikroservisleri yönetmek, sadece container'ları çalıştırmakla bitmez. Container'larınızın sağlığını, performansını ve loglarını takip etmeniz gerekir. Docker, bu işlemleri kolaylaştırmak için `docker stats`, `docker logs`, ve `docker ps` gibi komutlar sağlar.
Örneğin, şu komutla aktif container'ların listesini alabilirsiniz:
docker psAyrıca, log dosyalarını incelemek için de aşağıdaki komutu kullanabilirsiniz:
docker logs Sonuç
Docker ile mikroservis mimarisi kurmak, geliştirme sürecini kolaylaştırır ve uygulamanızın esnekliğini artırır. Container'lar sayesinde uygulamanız daha taşınabilir ve bağımsız hale gelir. Bu yazıda öğrendiklerinizle, Docker kullanarak mikroservislerinizi kolayca kurabilir ve yönetebilirsiniz. Unutmayın, mikroservisler küçük ve bağımsız birimlerdir, bu nedenle her birini doğru şekilde yapılandırmak büyük önem taşır.
Artık mikroservislerinizi Docker ile kolayca kurabilir, ölçeklendirebilir ve yönetebilirsiniz. Bu rehberle başlamak, sizi güçlü bir Docker kullanıcısı yapacaktır!