
Docker 已经成为一个流行的容器化工具,简化了跨环境部署和管理应用程序。当您长时间使用 Docker 时,可能会积累大量不再需要的容器。为了保持系统清洁和高效,我们要知道如何停止和删除这些容器。
在本文中,我们将提供关于如何停止并有效删除所有 Docker 容器的全面指导。
1. 了解 Docker 容器
Docker 容器是轻量级的、可移植的应用程序单元,打包了所有依赖项。它们彼此隔离运行, 确保应用程序在生命周期各个阶段有一致的环境。随着时间的推移,您可能会累积许多不再使用的容器或不必要的数据,这些数据可能会消耗掉宝贵的资源和搞乱 Docker 环境。
2. 列出 Docker 容器
在停止和删除容器之前,查看系统上所有的容器,使用以下命令:
docker ps -a
该命令列出所有容器,包括非运行的,并显示其状态、创建时间和其他相关信息。
3. 停止所有 Docker 容器
停止所有正在运行的 Docker 容器,使用如下命令:
docker stop $(docker ps -q)
该命令首先使用 docker ps -q 获取所有正在运行的容器 id,然后使用 docker stop 停止它们。如果没有正在运行的容器,该命令将不会产生任何输出。
4. 删除所有 Docker 容器
停止所有容器后,就可以删除它们,使用如下命令:
docker rm $(docker ps -aq)
该命令首先使用 docker ps -aq 获取所有容器(包括停止的)的 id,然后使用 docker rm 命令删除它们。如果系统中没有容器,该命令将不会产生任何输出。
5. 清理未使用的容器、镜像和卷
除了移除容器外,清理未使用的镜像和卷也可以释放存储空间,使用如下命令:
docker system prune -a --volumes
该命令会删除以下内容:
- 所有停止运行的容器
- 所有未使用的网络
- 所有未使用的镜像
- 所有未使用的构建缓存
- 所有未使用的卷
在继续清理之前,Docker 将提示您进行确认,输入y并按 Enter 继续。
6. 自动化容器清理
为了自动化清理过程并保持 Docker 环境干净,请考虑在运行容器时使用 --rm 标志,该标志在退出时自动删除容器及其相关的文件系统。
docker run --rm [image_name]
您可以使用 docker container prune 命令定期删除所有已停止的容器。
docker container prune
该命令可以与其他命令组合使用,使用 cronjob 计划任务,定期清理 Docker 环境。
