Как лучше всего создавать образ Docker для приложений Spring Boot с использованием слоев?JAVA

Программисты JAVA общаются здесь
Anonymous
Как лучше всего создавать образ Docker для приложений Spring Boot с использованием слоев?

Сообщение Anonymous »

Мне известны два подхода. Ниже приведены фрагменты Dockerfile.

Код: Выделить всё

# This approach generates and runs application classes stored in the `extracted_layers/application/BOOT-INF/classes/` folder.
.
.
.
RUN java -Djarmode=layertools -jar app.jar extract --destination extracted_layers
.
.
.
ENTRYPOINT ["java", "-XX:+UseContainerSupport", "-XX:MaxRAMPercentage=75.0", "-XX:+UseG1GC", "org.springframework.boot.loader.launch.JarLauncher"]

Код: Выделить всё

# This approach generates and runs the application jar stored in the `extracted_layers/application/` folder
.
.
.
RUN java -Djarmode=tools -jar app.jar extract --layers --destination extracted_layers
.
.
.
ENTRYPOINT ["java", "-XX:+UseContainerSupport", "-XX:MaxRAMPercentage=75.0", "-XX:+UseG1GC", "-jar", "app.jar"]

Обратите внимание на разницу в используемом инструменте, указанном в -Djarmode .
В документации используется подход jar: https://docs.spring.io/spring-boot/3.5/ ... files.html
Я думаю, что использование извлеченных классов обеспечивает более быстрый запуск.>

Подробнее здесь: https://stackoverflow.com/questions/798 ... applicatio

Вернуться в «JAVA»