使用 Quarkus,如何在 docker 图像中构建原生图像(使用 Kotlin 和 Gradle)
With Quarkus, how do I build a native image in a docker image (with Kotlin and Gradle)
Quarkus 文档解释了如何使用 Maven 构建 docker 图像。但我正在使用 Gradle 和 Kotlin。我正在尝试弄清楚如何执行这些步骤:
FROM quay.io/quarkus/centos-quarkus-maven:19.2.1 AS build
COPY src /usr/src/app/src
COPY pom.xml /usr/src/app
USER root
RUN chown -R quarkus /usr/src/app
USER quarkus
RUN mvn -f /usr/src/app/pom.xml -Pnative clean package
首先,我想我想要一个具有 gradle 而不是 Maven 的图像(quay.io 似乎没有)。然后我必须弄清楚我还需要复制什么(而不是 pom.xml)也许 build.gradle
? settings.gradle
? gradle.properties
?其次,我相信这个图像也包含 GraalVM。所以我不确定我能在那里做什么。
我需要使用 Maven 吗?我真的真的不想。
尽管文档和构建器图像是针对 Maven 量身定制的,但是如果您执行以下操作,则可以使用 Gradle:
FROM quay.io/quarkus/centos-quarkus-maven:19.2.1 AS build
COPY gradlew /usr/src/app
COPY gradle /usr/src/app
COPY src /usr/src/app/src
COPY build.gradle /usr/src/app
COPY settings.gradle /usr/src/app
USER root
RUN chown -R quarkus /usr/src/app
USER quarkus
RUN ./gradlew build
根据您的 .dockerignore
包含的内容,您可能还需要对其进行调整(或者只是将其删除)
Quarkus 文档解释了如何使用 Maven 构建 docker 图像。但我正在使用 Gradle 和 Kotlin。我正在尝试弄清楚如何执行这些步骤:
FROM quay.io/quarkus/centos-quarkus-maven:19.2.1 AS build
COPY src /usr/src/app/src
COPY pom.xml /usr/src/app
USER root
RUN chown -R quarkus /usr/src/app
USER quarkus
RUN mvn -f /usr/src/app/pom.xml -Pnative clean package
首先,我想我想要一个具有 gradle 而不是 Maven 的图像(quay.io 似乎没有)。然后我必须弄清楚我还需要复制什么(而不是 pom.xml)也许 build.gradle
? settings.gradle
? gradle.properties
?其次,我相信这个图像也包含 GraalVM。所以我不确定我能在那里做什么。
我需要使用 Maven 吗?我真的真的不想。
尽管文档和构建器图像是针对 Maven 量身定制的,但是如果您执行以下操作,则可以使用 Gradle:
FROM quay.io/quarkus/centos-quarkus-maven:19.2.1 AS build
COPY gradlew /usr/src/app
COPY gradle /usr/src/app
COPY src /usr/src/app/src
COPY build.gradle /usr/src/app
COPY settings.gradle /usr/src/app
USER root
RUN chown -R quarkus /usr/src/app
USER quarkus
RUN ./gradlew build
根据您的 .dockerignore
包含的内容,您可能还需要对其进行调整(或者只是将其删除)