Docker停止删除容器
时间:2026-10-20 07:07 作者:emer 分类: 无
Docker停止删除容器
引言
容器用多了会堆积一堆停止状态的旧实例,占磁盘、干扰排查。停止和删除是两步:先停再删,生产环境删容器前要确认数据已持久化,否则删除即丢失。
停止单个容器
docker stop 容器名或ID
发送SIGTERM优雅停止,等待默认10秒,超时再发SIGKILL强杀。
强制停止
docker kill 容器名或ID
直接SIGKILL,不给进程清理机会,只用于卡死不响应的容器。
删除已停止容器
docker rm 容器名或ID
只能删停止状态的容器,运行中需先stop或加-f。
强制删除运行中容器
docker rm -f 容器名或ID
一步停止并删除,慎用,等价于kill后rm。
批量清理
# 删除所有已停止容器
docker container prune
# 删除全部容器(含运行中,危险)
docker rm -f $(docker ps -aq)
prune只清停止的,相对安全;ps -aq配合rm -f会删光,生产禁止随手执行。
启动与重启
docker start 容器名
docker restart 容器名
停止的容器start可再次拉起,文件系统内改动仍在,只有删容器才清除。
注意事项
- 删除容器前确认挂载卷和数据,容器内非挂载目录删除即丢;
- 数据库容器先备份再删,别以为能找回来;
- -f强制删除跳过优雅停止,可能丢未刷盘数据;
- 批量命令先docker ps -aq列出确认,再删;
- 加了--rm的容器退出自动删除,不留残骸;
- 清理容器不影响镜像,镜像还在可随时重建。
总结
docker stop优雅停止,docker kill强杀,docker rm删已停容器,-f强制删运行中容器,container prune批量清停止实例。核心原则是先确认数据挂载和备份再删,生产慎用rm -f全量清理,执行批量命令前先列出ID核对,理解容器删除会清空非挂载层数据。