全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页
📅 2026-05-21 5 分钟 ✍️ juanwangdev

容器删除与清理

容器停止运行后会占用磁盘空间,定期清理可释放资源。

删除容器

docker rm 命令

Bash
# 删除已停止的容器
docker rm my-nginx

# 删除多个容器
docker rm container1 container2 container3

# 通过容器 ID 删除
docker rm a1b2c3d4e5f6

强制删除运行中的容器

Bash
# 强制删除正在运行的容器
docker rm -f my-nginx

# 等价于先 stop 再 rm
docker stop my-nginx
docker rm my-nginx

-f 参数会立即强制停止并删除容器,不会等待优雅退出,数据可能丢失。

自动清理

运行时自动删除

Bash
# --rm 参数:容器停止后自动删除
docker run --rm -it ubuntu:latest /bin/bash

# 退出后容器自动删除
exit
# 容器不再出现在 docker ps -a 列表中

--rm 适合一次性任务、测试、调试场景,避免留下僵尸容器。

批量清理

Bash
# 删除所有已停止的容器
docker container prune

# 确认提示
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y

# 跳过确认提示
docker container prune -f

全面清理

Bash
# 删除所有未使用的资源(容器、网络、镜像、构建缓存)
docker system prune

# 包括未使用的镜像
docker system prune -a

# 包括数据卷
docker system prune --volumes

docker system prune 是危险操作,特别是 -a 会删除所有未被容器使用的镜像,谨慎使用。

查找待清理容器

Bash
# 列出所有已停止的容器
docker ps -a --filter "status=exited"

# 列出创建但未启动的容器
docker ps -a --filter "status=created"

# 仅显示容器 ID
docker ps -a --filter "status=exited" -q

# 删除所有已退出的容器(一行命令)
docker rm $(docker ps -a --filter "status=exited" -q)

查看容器资源占用

删除前可检查容器是否仍在使用:

Bash
# 查看容器详情
docker inspect my-nginx

# 查看容器资源使用
docker stats my-nginx

# 查看容器文件系统变更
docker diff my-nginx

注意事项

  • 删除容器会丢失容器层中的数据(非 Volume 挂载的部分)
  • 如果容器使用了 Volume,Volume 数据不会随容器删除而删除
  • 删除容器前确认无重要数据或已备份
  • 生产环境建议先 docker stopdocker rm,避免数据损坏

要点总结

  • docker rm 删除已停止容器,-f 强制删除运行中容器
  • docker run --rm 容器停止后自动删除,适合一次性任务
  • docker container prune 批量清理所有已停止容器
  • docker system prune 全面清理未使用资源,谨慎使用 -a
  • 删除容器前确认无重要数据,Volume 数据不受容器删除影响

📝 发现内容有误?点击此处直接编辑

← 上一篇 容器创建与启动
下一篇 → 容器日志查看
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库