如何彻底清空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 # 应显示空列表
注意事项
-
数据持久化:
如果容器有挂载卷,确保数据已备份,删除容器不会自动删除卷。 -
Kubernetes 相关容器:
这些容器(如k8s_kube-flannel
、k8s_POD
)属于 Kubernetes 集群,如果集群仍需使用,不要删除。 -
彻底清理:
如需一并删除未使用的镜像、网络和卷:docker system prune -a --volumes
执行后,你的 Docker 环境将只保留正在运行的资源。