Multi-stage build: первый stage — сборка (Maven/Gradle), второй — запуск. FROM maven:3.9-eclipse-temurin-21 AS build, COPY pom.xml + src, RUN mvn package -DskipTests. FROM eclipse-temurin:21-jre-alpine, COPY --from=build target/app.jar, ENTRYPOINT ["java", "-jar", "app.jar"]. JRE вместо JDK в runtime (меньше размер). alpine-образы — ещё компактнее. jlink — кастомный JRE только с нужными модулями. Layers: spring-boot-maven-plugin с layers для кеширования Docker-слоёв.
Как написать Dockerfile для Java-приложения?
Middle
379 просмотровAFK Offer AI
Что такое deadlock и как его избежать?