docker目录清理
步骤一:停止并删除不需要的容器
- 首先,停止并删除所有不再需要的容器。
- 列出所有运行中的容器:
- docker ps
- 停止所有运行中的容器:
- docker stop $(docker ps -q)
- 删除所有停止的容器:
- docker container prune -f
- 列出所有运行中的容器:
步骤二:删除未使用的镜像
- 删除所有未使用的镜像,包括悬空镜像(dangling images)。
- 删除所有悬空镜像:
- docker image prune -f
- 删除所有未被任何容器使用的镜像:
- docker image prune -a -f
- 删除所有悬空镜像:
步骤三:删除未使用的卷
- 删除所有未使用的卷,这些卷可能占用了大量的磁盘空间。
- 删除所有未使用的卷:
- docker volume prune -f
- 删除所有未使用的卷:
步骤四:删除未使用的网络
- 删除所有未使用的网络,这些网络可能也占用了磁盘空间。
- 删除所有未使用的网络:
- docker network prune -f
- 删除所有未使用的网络:
步骤五:清理构建缓存
- 在构建镜像时,Docker 会缓存中间层,以加快后续的构建过程。你可以通过以下命令清理构建缓存:
- 这将删除所有未被引用的构建缓存。
- docker builder prune
- 这将删除所有未被引用的构建缓存。
步骤六:一键清理所有未使用的资源
- 你可以使用docker system prune命令一键清理所有未使用的容器、镜像、卷和网络。
- 一键清理所有未使用的资源:
- docker system prune -f
- 包括未被任何容器使用的镜像:
- docker system prune -a -f
- 一键清理所有未使用的资源:
步骤七:检查和清理/var/lib/docker/overlay2目录
- 在执行上述清理操作后,/var/lib/docker/overlay2目录中的内容应该已经减少。如果你仍然发现该目录非常大,可以手动检查并删除一些不必要的文件。
- 检查/var/lib/docker/overlay2目录的大小:
- du -sh /var/lib/docker/overlay2
- 手动删除不必要的文件和目录(请谨慎操作):
- rm -rf /var/lib/docker/overlay2/
- rm -rf /var/lib/docker/overlay2/
- 检查/var/lib/docker/overlay2目录的大小:
注意事项
- 数据丢失:执行这些清理命令会删除未使用的资源,确保你不再需要这些资源后再执行清理操作。
- 备份重要数据:在进行清理操作之前,确保你已经备份了所有重要数据。
- 定期清理:定期清理未使用的Docker资源可以帮助你节省磁盘空间并保持系统的整洁。
通过以上步骤,你可以有效地清理Docker的/var/lib/docker/overlay2目录,释放磁盘空间并提高系统性能。