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

如何进入docker build阶段启动即失败的残留容器进行调试

可行实现方案

容器启动后立刻退出的核心原因是,这个构建残留容器的默认启动命令是/bin/sh -c "mvn --version",命令执行失败(退出码127,找不到mvn命令)后容器会直接终止,从你给出的inspect信息看,整个容器运行时长只有2毫秒,根本来不及执行exec操作,后台并发启动再exec的方法本质是拼手速,对这种毫秒级退出的容器完全无效。

不需要重新执行耗时的构建流程,按下面的操作就能直接进入和失败时状态完全一致的容器环境,所有已完成的构建配置、安装的依赖、生成的文件都会完整保留:

操作步骤

  • 第一步:把当前停止状态的残留容器提交为临时调试镜像
docker commit 3d35a7f7a7b4 builder-debug-tmp
  • 第二步:基于这个临时镜像启动交互终端,启动时直接覆盖原有会失败的启动命令,不要执行mvn相关指令
docker run --rm -it --entrypoint /bin/sh builder-debug-tmp

执行完上面两条命令你就会直接进入容器的shell环境,和构建失败时的状态完全一致,可以直接排查mvn命令找不到的问题,不需要重跑之前的构建步骤。

补充说明

调试完成确认问题后,你可以直接修复Dockerfile里对应的错误步骤重新构建,也可以在调试好的临时容器里直接把正确的配置提交成正式镜像,跳过前面的构建流程。

注意:临时镜像builder-debug-tmp确认不用后可以手动执行docker rmi builder-debug-tmp删除,避免占用磁盘空间。

内容的提问来源于stack exchange,提问作者gabriel

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 16:36:39