You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Quarkus 3.18中Jib配置build:false仍构建镜像的问题咨询

Quarkus 3.18 Jib 容器镜像配置行为解析

核心逻辑说明

Quarkus容器镜像插件搭配Jib时,quarkus.container-image.push=true会强制触发镜像构建,不管quarkus.container-image.build设成什么。这是因为Jib的推送操作必须基于已构建的镜像——哪怕这个镜像只是临时生成用于推送,不保存到本地Docker守护进程。

你的配置场景逐一解析

场景1:build=false, push=true

quarkus.container-image.builder = jib
quarkus.container-image.build = false
quarkus.container-image.push = true

你以为不会构建,但Jib还是跑了构建流程——这是因为push=true的优先级更高。此时Jib会完成镜像构建,但不会把镜像存到本地Docker里,而是直接推送到远程仓库。日志里的Starting (local) container image build for jar using jib指的是Jib自身的本地构建流程,不是用Docker daemon构建后保存。

场景2:build=true, push=true

quarkus.container-image.builder = jib
quarkus.container-image.build = true
quarkus.container-image.push = true

这个配置下Jib既构建镜像又推送,属于正常行为。构建好的镜像会同时保存到本地Docker守护进程,并且推送到远程仓库。

场景3:build=true, push=false

quarkus.container-image.builder = jib
quarkus.container-image.build = true
quarkus.container-image.push = false

此时Jib只构建镜像并保存到本地Docker守护进程,不执行推送,和日志里显示的Using docker to run the native image builder(如果是构建native镜像)行为一致,符合配置预期。

关键属性的实际作用

  • quarkus.container-image.build:控制是否把构建好的镜像保存到本地Docker守护进程。设为false时,Jib构建的镜像不会留在本地,但如果push=true,还是会完成构建并直接推送。
  • quarkus.container-image.push:控制是否把镜像推送到远程仓库。设为true时,会自动触发构建流程——毕竟推送得有镜像可推,所以不管build怎么设,都会先跑构建。
  • quarkus.container-image.builder = jib:指定用Jib做镜像构建工具,Jib不需要依赖本地Docker就能完成构建和推送,这和直接用Docker构建的逻辑有区别。

内容的提问来源于stack exchange,提问作者Cristian De Vecchi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 18:00:12