2023-03-27 04:34:43
如何清理 Docker 镜像、容器及数据卷
Docker 提供了丰富的命令行工具来清理不再需要的镜慎谨毁像、容器和数据卷,从而释放磁盘空间并保持系统整洁。以下是详细的清理步骤:
一、清理所有虚悬(Dangling)资源
Docker 提供了一条可以清除任何虚悬资源的命令行,无论是镜像、容器、数据卷还是网络。虚悬资源指的是未被标记或是不与其它任何容器相关的资源。
命令:docker system prune
如果需要进一步清理所有已停止的容器及未被使用的镜像(不只是虚悬镜像),可以在命令行后添加一个 -a 标记。
二、清理 Docker 镜像
清除一个或多个指定镜像
读取列表:使用 docker images -a 命令找到需清除镜像的 ID。
清理:使用 docker rmi ImageID ImageID 命令删除指定镜像。
清理虚悬镜像
读取列表宽备:使用 docker images -f dangling=true 命令找到虚悬镜像。
清理:使用 docker image prune 命令删除所有虚悬镜像。
清除所有镜像
读取列表:使用 docker images -a 命令获取所有镜像列表。
清理:使用 docker rmi $(docker images -a -q) 命令删除所有镜像。
三、清理容器
清除一个或多个指定容器
读取列表:使用 docker ps -a 命令找到想要清理的容器名或 ID。
清理:使用 docker rm ID_or_Name ID_or_Name 命令删除指定容器。
退出容器的同时将其清除
运行并清理:在晌粗创建容器时使用 docker run --rm 命令,这样在退出容器后它就会被自动删除。
清理所有已退出容器
读取列表:使用 docker ps -a -f status=exited 命令找到所有已退出的容器。
清理:使用 docker rm $(docker ps -a -f status=exited -q) 命令删除所有已退出容器。
停止并清除所有容器
读取列表:使用 docker ps -a 命令找到所有容器。
清理:先使用 docker stop $(docker ps -a -q) 命令停止所有容器,然后使用 docker rm $(docker ps -a -q) 命令删除所有容器。
四、清理数据卷
清除一个或多个指定数据卷
读取列表:使用 docker volume ls 命令找到想要删除的数据卷的名字。
清理:使用 docker volume rm volume_name volume_name 命令删除指定数据卷。
清理虚悬数据卷
读取列表:使用 docker volume ls -f dangling=true 命令找到虚悬数据卷。
清理:使用 docker volume prune 命令删除所有虚悬数据卷。
清理容器及其数据卷
清理:在删除对应容器时使用 docker rm -v container_name 命令,可以同时清除未命名数据卷。
结论
以上是一些常用的 Docker 清理镜像、容器及数据卷的指令。这些指令也可以和更多标记相结合,以满足不同的清理需求。如需更多信息,请查阅 Docker 的官方文档。