当前位置: 首页 > 知识库问答 >
问题:

使用Quarkus,我如何在docker映像中构建本机映像(使用Kotlin和Gradle)

百里阳平
2023-03-14

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设置.gradlegradle.properties?其次,我相信这个图像也包含了GraalVM。所以我不确定我能在那里做些什么。

我必须使用Maven吗?我真的真的不想。

共有1个答案

於乐语
2023-03-14

尽管文档和构建器映像是为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包含的内容,您可能还需要对其进行调整(或删除)

 类似资料:
  • 问题内容: 我正在尝试 使用 官方链接中提到 的API 构建 docker镜像 。 但是我无法获得文件中的内容:示例请求: 有几件事使我感到困惑, 1)在哪里提到 Dockerfile 的 路径 ? 2)“归档文件必须在归档文件的根目录中包含一个构建指令文件,通常称为Dockerfile。” 来自docker docs的此声明,这里的困惑 是存档的根 是 什么 ? 3) 构建图像的详细命令 是什么

  • 在我的项目的根目录中,我发出了以下命令来创建一个特定于我的操作系统的本机可执行文件。有关详细信息,请参阅以下指南 这是输出。 本机映像生成失败,因为构建刚刚挂起。 我选择在主机上安装Graal VM,并选择非基于容器的方法,如下所示。 > ❯ brew安装——cask GRALVM/tap/GRALVM-ce-lts-java11 将Graal VM添加到JEnv管理的Java版本 ❯ jenv

  • 我正在试图弄清楚如何通过将GraalVM本机映像代理与Quarkus应用程序一起使用。 我试着跑步: 但是我得到了一个错误: 有什么提示吗? 我的Java版本:

  • 有可能在Java 16下构建本机Quarkus映像吗?没有找到任何操作说明。 不知何故,这应该是可能的,因为Oracle发布了对Java16的GraalVM支持(https://www.graalvm.org/release-notes/21_1/)

  • 我正在尝试创建一个管道,使用JIB(通过Maven插件)创建docker图像,并将其推送到我的Gitlab注册表。 当我登录到docker注册表时,这在本地运行良好。 说我有一个。gitlab ci。yml看起来像: 现在我在管道被触发时得到一个异常 我假设我得到了这个错误,因为我还没有运行docker login-u[用户名]-p[密码/令牌] 我怎么会需要一个.gitlab-ci.yml,它使