在日常使用 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
命令的用法文章。}
发表回复