清理docker占用的硬盘空间

docker system 命令

docker system df命令,类似于 Linux 上的df命令,用于查看 Docker 的磁盘使用情况:

docker system df
TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
Images              147                 36                  7.204GB             3.887GB (53%)
Containers          37                  10                  104.8MB             102.6MB (97%)
Local Volumes       3                   3                   1.421GB             0B (0%)
Build Cache                                                 0B                  0B

docker system prune命令可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及 dangling 镜像(即无 tag 的镜像)。

docker system prune -a命令清理得更加彻底,可以将没有容器使用 Docker 镜像都删掉。

注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的 Docker 镜像都删掉了…所以使用之前一定要想清楚吶。

手动清理

  1. 清理无用的容器

使用命令docker ps -a列出所有容器,找出不再需要的容器,使用命令docker rm <container_id>删除它们。在删除容器之前,可以使用命令docker stop <container_id>先停止容器。

  1. 清理无用的镜像

使用命令docker images列出所有镜像,找出不再需要的镜像,使用命令docker image rm <image_id>删除它们。在删除镜像之前,可以使用命令docker stop <container_id>先停止容器。

  1. 清理无用的数据卷

使用命令docker volume ls列出所有数据卷,找出不再需要的数据卷,使用命令docker volume rm <volume_name>删除它们。在删除数据卷之前,需要先删除使用该数据卷的容器。

  1. 清理无用的网络

使用命令docker network ls列出所有网络,找出不再需要的网络,使用命令docker network rm <network_name>删除它们。在删除网络之前,需要先删除使用该网络的容器。

5. 清理Docker日志

Docker日志会占用大量空间,可以使用命令docker logs --tail 50 <container_id>来查看最近50行的日志。如果需要清理全部日志,可以使用命令truncate -s 0 /var/lib/docker/containers/*/*/*.log来清空所有日志文件。