E-Ticaret Platformu Oluşturmak. Bölüm 6 : Uygulamayı Dockerize etme ve Docker Compose ile localde ayağa kaldırma.


#ecommerce #applicaition #backend #ddd #microservice #kafka #hazelcast #richdomainmodel #spring #java #hibernate
E-Ticaret Platformu Oluşturmak. Bölüm 1 : İhtiyaçları Çıkarmak : https://www.turkninja.com/2023/08/e-ticaret-platformu-olusturmak-bolum-1.html

E-Ticaret Platformu Oluşturmak. Bölüm 2 : Domain Stroytelling : Katılımcılar, İş Akışları, Kullanıcı Hikayeleri, İlgili Terimler ve Konseptler (Domain), Geliştirme İçin Önceliklendirme, İlgili Dokümantasyonlar : https://www.turkninja.com/2023/08/e-ticaret-platformu-olusturmak-bolum-2.html

E-Ticaret Platformu Oluşturmak. Bölüm 3 : DDD (Domain-Driven Design): İlgili alt sistemleri ve sınırlı bağlamları tanımları, microservicler, paketler, classlar, class kodları : https://www.turkninja.com/2023/08/e-ticaret-platformu-olusturmak-bolum-3.html

E-Ticaret Platformu Oluşturmak. Bölüm 4 : Rich Domain Modele Göre Microservicelerdeki Sınıfların Kodlarını oluşturmak : https://www.turkninja.com/2023/08/e-ticaret-platformu-olusturmak-bolum-4.html

E-Ticaret Platformu Oluşturmak. Bölüm 5 : Apache Kafka ve Hazelcast Cache Entegrasyonu : https://www.turkninja.com/2023/08/e-ticaret-platformu-olusturmak-bolum-5.html

E-Ticaret Platformu Oluşturmak. Bölüm 6 : Uygulamayı Dockerize etme ve Docker Compose ile localde ayağa kaldırma : https://www.turkninja.com/2023/08/e-ticaret-platformu-olusturmak-bolum-5_17.html

E-Ticaret Platformu Oluşturmak. Bölüm 7 : Jenkins ile uygulamayı CI/CD Pipeline'ına sokarak Dockerize etme, Test Etme ve Kubernetes'e deploy etme : https://www.turkninja.com/2023/08/e-ticaret-platformu-olusturmak-bolum-7.html


Bu microserviceleri dozkerize etmem için gerekli adımları uygula.



Tabii ki, mikroservislerinizi Docker üzerinde çalışacak şekilde dozkerize etme işlemine geçelim.


1. Kullanıcı Yönetimi Microservisi İçin Dockerfile Oluştur

Öncelikle, Kullanıcı Yönetimi mikroservisini dozkerize etmek için uygun bir Dockerfile oluşturalım. Proje kök dizininize aşağıdaki gibi bir Dockerfile ekleyin:


Dockerfile

Copy code

FROM openjdk:11-jdk-slim


ARG JAR_FILE=target/*.jar


COPY ${JAR_FILE} app.jar


ENTRYPOINT ["java","-jar","/app.jar"]

Bu Dockerfile, OpenJDK 11 tabanlı bir görüntü üzerine inşa eder ve projedeki JAR dosyasını görüntüye kopyalar.


2. Kullanıcı Yönetimi Microservisi İçin Docker Görüntüsü Oluştur

Proje dizininde, terminalde aşağıdaki komutu çalıştırarak Docker görüntüsünü oluşturun:


bash

Copy code

docker build -t user-management-service .

Bu komut, mevcut dizindeki Dockerfile kullanarak user-management-service adında bir görüntü oluşturur.


3. Kullanıcı Yönetimi Microservisi İçin Docker Konteynerı Başlat

Aşağıdaki komutla görüntüyü çalıştırabilirsiniz:


bash

Copy code

docker run -p 8080:8080 user-management-service

Bu, uygulamanın 8080 portunda çalışmasını sağlar.


4. Diğer Microservisler İçin Yukarıdaki Adımları Tekrarla

Her mikroservis için benzer bir Dockerfile oluşturun, görüntüyü inşa edin ve konteynerı başlatın.


5. Docker Compose (İsteğe Bağlı)

Tüm mikroservislerin ve bağımlılıklarının (örneğin bir veritabanı) bir arada çalıştırılmasını kolaylaştırmak için Docker Compose kullanabilirsiniz. Bunun için bir docker-compose.yml dosyası oluşturmanız gerekir.


6. Docker Compose Dosyası Oluşturma

Birden çok mikroservisi aynı anda çalıştırmak ve yönetmek için docker-compose.yml dosyası kullanabilirsiniz. Bu dosya, tüm mikroservislerin bir arada nasıl çalışacağını tanımlar.


İşte bir örnek docker-compose.yml dosyası:


yaml

Copy code

version: '3.8'

services:

  user-management-service:

    build: ./user-management-service

    ports:

      - "8080:8080"

  

  product-management-service:

    build: ./product-management-service

    ports:

      - "8081:8081"


  # Diğer servislerin tanımlamaları burada olacak


networks:

  default:

    external:

      name: my-network

Bu dosya, her mikroservis için bir Dockerfile beklediğini varsayar. Servislerin her biri kendi dizininde olmalı ve kendi Dockerfile'ına sahip olmalı.


7. Docker Compose ile Servisleri Çalıştırma

Aşağıdaki komutu çalıştırarak tüm mikroservislerinizi bir arada başlatabilirsiniz:


bash

Copy code

docker-compose up

8. Durumları ve Logları Takip Etme

Bu komut, mikroservislerinizin durumlarını ve loglarını terminal üzerinde takip etmenizi sağlar.


9. Servisleri Durdurma

İşiniz bittiğinde, aşağıdaki komutla tüm servisleri durdurabilirsiniz:


bash

Copy code

docker-compose down

Bu adımlar, mikroservislerinizi Docker üzerinde çalışacak şekilde dozkerize etmek için gereken temel işlemleri içerir. İhtiyacınıza göre özelleştirmeler yapabilir, bağlantılar ve hacimler ekleyebilir, sağlık kontrolleri ve yeniden başlatma politikaları gibi daha gelişmiş konulara da girebilirsiniz.


Her bir mikroservisin kendi bağımlılıkları, yapılandırması ve çalışma şekli olabilir, bu yüzden bu adımlar genel bir rehber olarak kullanılmalıdır. İlgili microservis'e özel yapılandırmalar eklemek gerekebilir.

Hiç yorum yok

Rastgele İçerik

DonanımHaber

© tüm hakları saklıdır
made with by templateszoo