使用GoogleJib构建Spring Boot Docker镜像时卡在80%求助
Google Jib卡在80%无法完成Spring Boot Docker镜像构建
问题详情
执行mvn compile jib:dockerBuild命令构建Spring Boot应用的Docker镜像时,进程卡在80%进度无进一步推进,无额外日志输出(卡顿时的状态截图已留存)。
已尝试的排查操作:
- 重启操作系统
- Docker账号登录/登出
- 重启Docker服务
- 卸载并重装Docker
解决建议
1. 开启详细日志定位卡点
执行构建命令时添加日志参数,获取更细粒度的执行细节,明确是哪个环节卡住:
mvn compile jib:dockerBuild -X
或直接指定Jib的调试日志级别:
mvn compile jib:dockerBuild -Djib.logging=debug
2. 检查基础镜像拉取与网络连通
Jib卡在80%多与基础镜像拉取、本地镜像处理有关:
- 手动拉取Jib默认使用的基础镜像(如
gcr.io/distroless/java17-debian11)测试网络:docker pull gcr.io/distroless/java17-debian11 - 若拉取缓慢或失败,切换国内镜像源,修改
pom.xml中Jib的基础镜像配置:<plugin> <groupId>com.google.cloud.tools</groupId> <artifactId>jib-maven-plugin</artifactId> <configuration> <from> <image>registry.cn-hangzhou.aliyuncs.com/acs/openjdk:17-jre</image> </from> </configuration> </plugin>
3. 检查磁盘空间
磁盘空间不足会导致镜像构建中断,执行以下命令查看磁盘使用情况:
df -h
清理Docker无用资源释放空间:
docker system prune -a
4. 禁用Docker BuildKit
部分环境下BuildKit与Jib存在兼容性问题,临时禁用后重试构建:
DOCKER_BUILDKIT=0 mvn compile jib:dockerBuild
如需永久禁用,修改/etc/docker/daemon.json:
{ "features": { "buildkit": false } }
修改后重启Docker服务生效。
5. 调整Jib插件版本
确认Jib插件与Spring Boot版本兼容,尝试升级或降级插件版本,例如在pom.xml中指定最新稳定版:
<plugin> <groupId>com.google.cloud.tools</groupId> <artifactId>jib-maven-plugin</artifactId> <version>3.4.0</version> </plugin>
内容的提问来源于stack exchange,提问作者Anshu
相关产品推荐
相关产品推荐

