Доработал Dockerfile

This commit is contained in:
Struchkov Mark 2022-10-18 11:02:38 +03:00
parent fc1421f8d8
commit f4394ff4ee

View File

@ -2,30 +2,36 @@ FROM eclipse-temurin:17 as app-build
ENV RELEASE=17 ENV RELEASE=17
RUN groupadd --gid 1000 spring-app \
&& useradd --uid 1000 --gid spring-app --shell /bin/bash --create-home spring-app
USER spring-app:spring-app
WORKDIR /opt/build WORKDIR /opt/build
COPY ./target/spring-boot-*.jar ./application.jar COPY ./target/*.jar ./application.jar
RUN java -Djarmode=layertools -jar application.jar extract RUN java -Djarmode=layertools -jar application.jar extract
RUN $JAVA_HOME/bin/jlink \ RUN $JAVA_HOME/bin/jlink \
--add-modules `jdeps --ignore-missing-deps -q -recursive --multi-release ${RELEASE} --print-module-deps -cp 'dependencies/BOOT-INF/lib/*' 'snapshot-dependencies/BOOT-INF/lib/' application.jar` \ --add-modules `jdeps --ignore-missing-deps -q -recursive --multi-release ${RELEASE} --print-module-deps -cp 'dependencies/BOOT-INF/lib/*':'snapshot-dependencies/BOOT-INF/lib/*' application.jar` \
--strip-debug \ --strip-debug \
--no-man-pages \ --no-man-pages \
--no-header-files \ --no-header-files \
--compress=2 \ --compress=2 \
--output ./custom-jdk --output jdk
FROM alpine:latest FROM debian:buster-slim
ARG BUILD_PATH=/opt/build ARG BUILD_PATH=/opt/build
ENV JAVA_HOME=/opt/jdk ENV JAVA_HOME=/opt/jdk
ENV PATH "${JAVA_HOME}/bin:${PATH}" ENV PATH "${JAVA_HOME}/bin:${PATH}"
WORKDIR application RUN groupadd --gid 1000 spring-app \
&& useradd --uid 1000 --gid spring-app --shell /bin/bash --create-home spring-app
USER spring-app:spring-app
WORKDIR /opt/workspace
COPY --from=app-build $BUILD_PATH/custom-jdk $JAVA_HOME COPY --from=app-build $BUILD_PATH/jdk $JAVA_HOME
COPY --from=app-build $BUILD_PATH/spring-boot-loader/ ./
COPY --from=app-build $BUILD_PATH/dependencies/ ./ COPY --from=app-build $BUILD_PATH/dependencies/ ./
COPY --from=app-build $BUILD_PATH/spring-boot-loader/ ./
COPY --from=app-build $BUILD_PATH/snapshot-dependencies/ ./ COPY --from=app-build $BUILD_PATH/snapshot-dependencies/ ./
COPY --from=app-build $BUILD_PATH/application/ ./ COPY --from=app-build $BUILD_PATH/application/ ./