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

Win10更新Docker Desktop 3.4.0后无法获取并运行中间层镜像怎么办

版本改动核心逻辑

Docker Desktop 3.4.0正式将BuildKit设置为默认镜像构建后端,替代了此前的传统Docker构建器,两者的构建输出与中间层管理逻辑存在明显差异:

  • 你在--progress plain输出中看到的sha256:xxx是BuildKit的内部缓存对象ID,并非可直接调用的本地镜像层哈希
  • 传统构建器会默认将所有中间层作为本地镜像保存并输出短哈希,而BuildKit默认仅保留最终构建产物,不会自动把中间层暴露到本地镜像列表中,因此不会输出传统的中间层短哈希
获取中间层镜像哈希的方案
  • 方案1:临时切换回传统构建器
    执行构建前添加环境变量禁用BuildKit,即可完全恢复旧版构建逻辑,直接输出可用的中间层短哈希:

    # Windows PowerShell 环境执行
    $env:DOCKER_BUILDKIT=0
    docker build .
    

    输出的中间层短哈希可直接通过docker run <短哈希>启动调试。

  • 方案2:保留BuildKit的前提下导出指定中间层
    如果需要继续使用BuildKit的构建性能,可以针对需要调试的构建阶段单独打标签导出为本地镜像:
    假设你的Dockerfile中对应构建阶段命名为build,执行以下命令:

    docker build --target build --tag build-debug:latest .
    

    构建完成后即可通过docker run -it build-debug:latest进入对应中间层调试。

  • 方案3:直接查询所有构建生成的悬空镜像
    BuildKit生成的未被关联的中间层会作为悬空镜像保存在本地,执行以下命令即可列出:

    docker images -f "dangling=true"
    

    列表中与你的构建时间匹配的镜像ID就是可用的中间层哈希,可直接调用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 22:57:03