Quarkus Docker容器镜像构建:无法生成Dockerfile.jvm/native文件求助
解决Quarkus生成Dockerfile.jvm/Dockerfile.native的问题
方法一:通过Quarkus CLI生成
在项目根目录执行对应命令即可生成指定模式的Dockerfile:
- 生成JVM模式文件:
quarkus generate dockerfile --jvm - 生成原生模式文件:
quarkus generate dockerfile --native - 一次性生成两种文件:
quarkus generate dockerfile --both
方法二:通过构建插件触发
Maven项目
执行以下命令生成默认的两个Dockerfile:
./mvnw quarkus:generate-dockerfile
也可以通过参数指定仅生成某一种:
# 仅生成JVM模式 ./mvnw quarkus:generate-dockerfile -Dquarkus.jvm.dockerfile.enabled=true -Dquarkus.native.dockerfile.enabled=false # 仅生成原生模式 ./mvnw quarkus:generate-dockerfile -Dquarkus.native.dockerfile.enabled=true -Dquarkus.jvm.dockerfile.enabled=false
Gradle项目
执行命令生成文件:
./gradlew generateDockerfile
同样可通过构建参数控制生成的模式类型。
确保配置正确
在application.properties中添加以下配置,保证生成的Dockerfile使用最新基础镜像:
quarkus.container-image.builder=docker quarkus.jvm.dockerfile.enabled=true quarkus.native.dockerfile.enabled=true
自定义Dockerfile
生成的文件可直接编辑,比如要添加buildah工具,在JVM模式的Dockerfile中加入:
USER root RUN microdnf install -y buildah && microdnf clean all USER quarkus
原生模式镜像若基于ubi-minimal镜像,可采用相同方式安装依赖。
内容的提问来源于stack exchange,提问作者Pseudow
相关产品推荐
相关产品推荐

