如何彻底清空docker里面不使用的容器?

这些容器都不想要了怎么办?

1. 删除所有已停止的容器

复制代码
docker rm $(docker ps -aq)
复制代码
docker rm $(docker ps -aq)
  • docker ps -aq:列出所有容器(包括停止的)的 ID

  • docker rm:删除指定容器


2. 如果遇到"正在运行的容器"错误

若某些容器仍在运行,先强制停止所有容器:

复制代码
docker stop $(docker ps -aq)
docker rm $(docker ps -aq)

3. 仅删除特定命名空间的容器(可选)

如果你的 Kubernetes 相关容器需要保留,可以只删除非 Kubernetes 容器:

复制代码
docker ps -a | grep -v 'k8s_' | awk '{print $1}' | xargs docker rm -f

4. 清理完成后验证

复制代码
docker ps -a  # 应显示空列表

注意事项

  1. 数据持久化

    如果容器有挂载卷,确保数据已备份,删除容器不会自动删除卷。

  2. Kubernetes 相关容器

    这些容器(如 k8s_kube-flannelk8s_POD)属于 Kubernetes 集群,如果集群仍需使用,不要删除

  3. 彻底清理

    如需一并删除未使用的镜像、网络和卷:

    复制代码
    docker system prune -a --volumes

执行后,你的 Docker 环境将只保留正在运行的资源。

相关推荐
程序员学习随笔11 分钟前
Linux进程深度解析(2):fork/exec写时拷贝性能优化与exit资源回收机制(进程创建和销毁)
linux·运维·服务器
-SGlow-31 分钟前
MySQL相关概念和易错知识点(2)(表结构的操作、数据类型、约束)
linux·运维·服务器·数据库·mysql
代码改变世界ctw1 小时前
Linux内核设计与实现 - 第14章 块I/O层
linux·运维·服务器
Dreams_l1 小时前
网络编程2(应用层协议,传输层协议)
运维·服务器·网络
勇哥的编程江湖2 小时前
starrocks官网docker部署mysql无法连接
运维·docker·容器
EulerBlind3 小时前
【运维】SGLang 安装指南
运维·人工智能·语言模型
风吹落叶花飘荡3 小时前
Ubuntu系统 系统盘和数据盘扩容具体操作
linux·运维·ubuntu
Z7676_4 小时前
OSPF开放式最短路径优先
运维·网络
RPA+AI十二工作室4 小时前
影刀RPA_抖音评价获取_源码解读
运维·机器人·自动化·源码·rpa·影刀
小码过河.5 小时前
CentOS 搭建 Docker 私有镜像仓库
linux·docker·centos