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

Docker多阶段构建中如何删除前一阶段的镜像

关于多阶段构建中无标签中间镜像的删除问题

当然可以删除这个<none>的中间镜像!

你看到的这个无标签镜像,是Docker多阶段构建过程里第一阶段build-stage产生的临时中间产物。既然第二阶段已经通过COPY --from=build-stage /publish .把运行所需的文件都复制到最终镜像里了,这个中间镜像确实没有继续保留的价值。

几种处理方式:

  • 手动删除单个中间镜像:直接用镜像ID执行删除命令就行:

    docker rmi <你的<none>镜像ID>
    

    不用担心依赖问题,多阶段构建的中间镜像一般不会被其他镜像引用,所以可以安全删除。

  • 批量清理所有无用的无标签镜像:如果有多个这类镜像,用这个命令一键清理:

    docker image prune
    

    加上-a参数还能清理所有不再使用的镜像(不仅仅是无标签的):

    docker image prune -a
    
  • 构建时自动清理中间镜像:下次构建的时候加上--rm参数,Docker会在构建完成后自动删除中间阶段的镜像,不用事后手动操作:

    docker build --rm -t sample-api .
    

再补充下你的场景:你的Dockerfile分了两个阶段,第一阶段负责编译发布,第二阶段生成最终的运行镜像。第一阶段结束后留下的<none>镜像就是编译阶段的临时产物,完全可以放心删除,不会影响最终的sample-api镜像的运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 10:02:59