Docker 中的 prune 命令用法详解

Docker 中的 prune 命令用法详解

在日常使用 Docker 时,随着时间推移,可能会积累大量的未使用的容器、镜像、网络和卷。这些未使用的资源会占用磁盘空间,影响系统性能。Docker 提供了 prune 命令,用于清理这些未使用的资源。

1. 基本概念

prune 命令的作用是删除所有未被使用的 Docker 资源。未使用的资源包括:

  • 停止的容器
  • 未被打包进镜像的中间层镜像
  • 未被任何容器引用的网络
  • 未被任何容器挂载的卷

2. 常见命令

2.1 清理所有未使用的容器

docker container prune
docker container prune
docker container prune

此命令将删除所有停止的容器,并询问是否确认执行。

2.2 清理所有未使用的镜像

docker image prune

默认情况下,此命令只会删除悬空(dangling)镜像(即未被任何容器引用的镜像)。如果需要删除所有未使用的镜像,可以加上 -a 参数:

docker image prune -a

2.3 清理所有未使用的网络

docker network prune

此命令将删除所有未被任何容器使用的网络。

2.4 清理所有未使用的卷

docker volume prune

此命令将删除所有未被任何容器挂载的卷。

2.5 清理所有类型的未使用资源

docker system prune

此命令是一个综合性命令,可以一次性清理所有未使用的容器、镜像、网络和卷。加上 -a 参数后,还会删除所有未使用的镜像:

docker system prune -a

3. 注意事项

  • 在执行 prune 命令前,请确保重要数据已备份。
  • 使用 -a 参数时需谨慎,因为它会删除所有未使用的镜像,可能导致重新拉取镜像的时间成本增加。
  • 如果启用了 Docker Swarm 模式,某些资源可能被视为“正在使用”,即使它们看似未被引用。

通过合理使用 prune 命令,可以有效释放磁盘空间并优化 Docker 环境。

{以上是关于 Docker 中 prune 命令的用法文章。}