使用Mandrel的Quarkus本机构建

时间:2020-09-01 09:54:50

标签: java quarkus graalvm-native-image

我正在尝试使用Mandrel在纯模式下构建Quarkus,如此处所述:https://quarkus.io/guides/building-native-image#container-runtime

由于我的CI管道有局限性,我需要使用多阶段docker-build手动进行此操作:https://quarkus.io/guides/building-native-image#using-a-multi-stage-docker-build

但是现在,如果我要使用心轴图像,我不知道在Dockerfile中要进行哪些更改:

## Stage 1 : build with maven builder image with native capabilities
FROM quay.io/quarkus/centos-quarkus-maven:20.1.0-java11 AS build
COPY pom.xml /usr/src/app/
RUN mvn -f /usr/src/app/pom.xml -B de.qaware.maven:go-offline-maven-plugin:1.2.5:resolve-dependencies
COPY src /usr/src/app/src
USER root
RUN chown -R quarkus /usr/src/app
USER quarkus
RUN mvn -f /usr/src/app/pom.xml -Pnative clean package

## Stage 2 : create the docker final image
FROM registry.access.redhat.com/ubi8/ubi-minimal
WORKDIR /work/
COPY --from=build /usr/src/app/target/*-runner /work/application

# set up permissions for user `1001`
RUN chmod 775 /work /work/application \
  && chown -R 1001 /work \
  && chmod -R "g+rwX" /work \
  && chown -R 1001:root /work

EXPOSE 8080
USER 1001

CMD ["./application", "-Dquarkus.http.host=0.0.0.0"]

我敢肯定它必须非常简单,但是我暂时不了解。有什么建议吗?

0 个答案:

没有答案
相关问题