Ana içeriğe geç

CooLWJ'de ara

选择搜索范围,输入关键词后按回车。

Dil

SpringBoot ile Docker imajı oluşturmanın en iyi 3 yolu

Bu yazıda, Maven aracılığıyla SpringBoot uygulamalarını Docker imajlarına dönüştürmek için 3 teknik tanıtılacak.

(1)spring-boot-maven-plugin içinde yerleşik olarak bulunan build-image.

(2)Google'ın şu aracını kullanma jib-maven-plugin。

(3)Kullanım dockerfle-maven-plugin。

Spring Boot uygulaması

Uygulamayı kolaylaştırmak için bir Spring Boot projesi gerekiyor.

Demo projesinin adresi:

https://github.com/davelms/me...

Proje ortamı:

  • Java 11

  • Maven 3.6.3

Kullanım mvn package jar paketi sorunsuz biçimde oluşturulabilir.

normal şekilde de çalışabilir:

java -jar target/demo-application-0.0.1-SNAPSHOT.jar

Test sayfası:

http://localhost:8080/hello

Demo projesi hazır; şimdi imaj oluşturmanın 3 yöntemini uygulamaya başlayalım.

Bir、Spring Boot maven eklentisinin build-image işlevi

Spring Boot, Docker imajları oluşturmak için kendi eklentisini hazır sunar; herhangi bir değişiklik yapmamıza gerek yoktur, çünkü eklenti pom.xml içindeki spring-boot-starter-parent'ta zaten bulunur.

Dockerfile yazmanıza veya başka şeylerle uğraşmanıza gerek yok; eklenti, Spring'in önerdiği güvenlik, bellek ve performans konuları gibi işleri sizin için halleder.

Yalnızca şu komutu çalıştırmanız yeterlidir:

mvn spring-boot:build-image

İşlem tamamlandığında başarı bildirimi görünecektir:

Konteyneri çalıştırarak test etme:

docker run -p 9090:8080 -t demo-application:0.0.1-SNAPSHOT

Dikkat: Burada eşlenen yerel bağlantı noktası 9090。

II、jib-maven-plugin

Jib,Docker imajları oluşturmak için kullanılan bir Maven ve Gradle eklentisidir。

Bu eklentinin çok belirgin bir özelliği var:Docker'ın yerel olarak kurulması gerekmez,bu, sürekli entegrasyon için çok kullanışlıdır; Jib doğrudan belirtilen Docker deposuna gönderebilir.

Jib de Dockerfile yazmayı gerektirmez.

Kullanımı da son derece kolaydır; kodu değiştirmeniz gerekmez, pom.xml dosyasını değiştirmeden de kullanabilirsiniz.

Yalnızca şunu çalıştırmak yeterlidir:

mvn compile com.google.cloud.tools:jib-maven-plugin:2.3.0:dockerBuild
  • mvn compile

çok iyi bildiğimiz maven derleme komutudur.

  • com.google.cloud.tools:jib-maven-plugin:2.3.0

Jib eklentisinin kullanılacağını belirtir

  • dockerBuild

Jib eklentisinin yürütme hedefidir,dockerBuild Jib’in yerel olarak kurduğumuz Docker’ı kullanacağını belirtir.

İşlem tamamlandığında başarı bildirimi görünecektir:

Test için konteyneri başlatın:

docker run -p 9091:8080 -t demo-application:0.0.1-SNAPSHOT

Dikkat: Burada eşlenen yerel bağlantı noktası 9091。

III、dockerfile-maven-plugin

Bu eklenti için bir Dockerfile yazmamız gerekiyor; Domo projesinde zaten hazırlanmış.

Dockerfile, projenin kök dizininde, pom.xml ile aynı yerde bulunmalıdır.

Ardından, depoyu, tag etiketini ve yukarıdaki Dockerfile’da tanımlanan JAR_FILE。

Yürütme mvn package sırasında imaj otomatik olarak oluşturulur,işlem tamamlandığında şu bilgilendirme mesajını görürsünüz:

görsel

Konteyneri çalıştırma:

docker run -p 9092:8080 -t demo-application:0.0.1-SNAPSHOT

Dikkat: Eşlenen yerel bağlantı noktası 9092。

Kısa özet

Bu 3 seçenek arasında en kullanışlısı SpringBoot'un yerleşik yöntemi; kendiniz hiçbir şey yapmadan doğrudan kullanabilirsiniz.

En ayırt edici olanı Jib'dir; bilgisayarınıza Docker kurmanızı gerektirmez, doğrudan belirtilen imaj deposuna gönderebilir ve kullanımı da oldukça kolaydır.

En zahmetli görünen eklenti dockerfile-maven-plugin; hem Dockerfile yazmak hem de yapılandırma eklemek gerekiyor,Ancak,aslında kullanımı en kolay olan budur; çünkü ilk 2 seçenek ağ ortamına bağlıdır (anlarsınız ya), Docker imajını yapılandırsanız bile hata verirler, deneyebilirsiniz。

Spring Boot, Maven ve Docker imajı oluşturma temalı görsel


Yorumlar

Gönderiliyor

Temanızı seçin

Temanız tüm sitede geçerli olur.