Dockerize ve Multiplatform
Ön Gereksinimler
Docker Buildx Kurulumu
Docker Buildx, Docker imajlarını farklı platformlar için derlemek üzere kullanılan bir araçtır. Aşağıdaki adımları izleyerek Docker Buildx’i yükleyin:
- Terminali açın.
- Aşağıdaki komutu çalıştırarak Docker Buildx’i etkinleştirin:
docker buildx install- Kurulumun başarılı olduğunu doğrulamak için aşağıdaki komutu çalıştırın:
docker buildx versionEğer Docker Buildx sürümü görüntüleniyorsa, kurulum başarılı olmuştur.
Docker Hub Hesabı Oluşturma
Eğer henüz bir Docker Hub hesabınız yoksa, aşağıdaki adımları izleyerek bir hesap oluşturabilirsiniz:
- Docker Hub web sitesine gidin.
- ”Sign Up” butonuna tıklayın ve gerekli bilgileri doldurun.
- Hesabınızı doğrulamak için e-posta adresinize gönderilen bağlantıyı takip edin.
Docker Hub’a Giriş Yapma
Hesabınızı oluşturduktan sonra, terminalinizde aşağıdaki komutu çalıştırarak Docker Hub’a giriş yapın:
docker loginKullanıcı adınızı ve şifrenizi girin.
Adım 4: Mikroservislerin Dockerize Edilmesi
Her bir mikroservis için aşağıdaki adımları tekrarlayın:
- Mikroservisin bulunduğu dizine gidin.
- Aşağıdaki komutu çalıştırarak Docker imajını oluşturun ve Docker Hub’a gönderin:
docker buildx build --platform linux/amd64,linux/arm64 -t <docker_hub_kullanici_adi>/<mikroservis_adi>:latest --push .<docker_hub_kullanici_adi> yerine kendi Docker Hub kullanıcı adınızı, <mikroservis_adi> yerine ilgili mikroservisin adını yazın.
Örneğin, dispatch-sidecar mikroservisi için komut şu şekilde olacaktır:
docker buildx build --platform linux/amd64,linux/arm64 -t furkanadkt/dispatch-sidecar:latest --push ./dispatch-sidecarBu komut, dispatch-sidecar dizinindeki Dockerfile dosyasını kullanarak bir Docker imajı oluşturacak, imajı furkanadkt/dispatch-sidecar:latest olarak etiketleyecek ve hem linux/amd64 hem de linux/arm64 platformları için derleyecektir. Ardından, imajı Docker Hub’a gönderecektir.
Diğer mikroservisler için de aynı adımları tekrarlayın:
docker buildx build --platform linux/amd64,linux/arm64 -t furkanadkt/dispatch-service:latest --push ./dispatch-servicedocker buildx build --platform linux/amd64,linux/arm64 -t furkanadkt/order-service:latest --push ./order-servicedocker buildx build --platform linux/amd64,linux/arm64 -t furkanadkt/order-sidecar:latest --push ./order-sidecardocker buildx build --platform linux/amd64,linux/arm64 -t furkanadkt/product-service:latest --push ./product-servicedocker buildx build --platform linux/amd64,linux/arm64 -t furkanadkt/product-sidecar:latest --push ./product-sidecardocker buildx build --platform linux/amd64,linux/arm64 -t furkanadkt/user-service:latest --push ./user-servicedocker buildx build --platform linux/amd64,linux/arm64 -t furkanadkt/user-sidecar:latest --push ./user-sidecarSonuç
Bu adımları tamamladıktan sonra, tüm mikroservislerinizin Docker imajları oluşturulmuş ve Docker Hub’a furkanadkt kullanıcı adı altında gönderilmiş olacaktır. (Ya da sizin kullandığınız kullanıcı adınıza) İmajlar hem linux/amd64 hem de linux/arm64 platformlarında çalışacak şekilde derlenmiştir, böylece farklı mimarilere sahip sistemlerde kullanılabilirler.