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

为什么执行docker stop CONTAINERID会自动删除已停止容器?如何避免?

问题原因

你遇到的容器停止后自动删除的情况,是启动容器时添加的--rm参数导致的,该参数的原生设计逻辑就是:容器从运行状态退出(无论主动停止、异常崩溃还是进程正常结束)后,自动销毁所有容器相关资源,这个逻辑和你使用的Docker 20.10版本没有冲突,属于预期行为。

解决方法

针对当前已经启动的带--rm参数的容器

只要容器还处于运行状态,你可以先修改容器的自动删除配置,再停止容器,即可保留容器资源:

  • 执行更新命令关闭自动删除规则:
    docker update --rm=false <容器ID或容器名>
  • 之后正常执行停止命令即可:
    docker stop <容器ID或容器名>
    后续需要重启时,直接执行docker start <容器ID或容器名>就能正常启动容器。

后续启动容器的规避方案

  • 如果不需要容器退出后自动清理资源,启动命令直接去掉--rm参数即可:
    docker run -dit --name somename someimages:v1.2.3
  • 如果是临时使用的场景需要保留--rm参数,仅特定场景需要保留容器,按上述已启动容器的修改方案操作即可。
补充说明

--rm参数的设计初衷是适配一次性临时容器的使用场景,比如单次运行测试脚本、临时验证镜像功能等,避免大量用完即弃的容器残留占用磁盘和进程资源,正常需要持久化运行、后续需要重启的容器不建议添加该参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 00:15:02