Docker 让开发和部署变得容易了,正因为容易导致不经意的就在不断添加新的 docker 映像、容器等。这些都将占用了系统上的宝贵空间,而且是一直在快速地增加。所以有必要清理Docker环境,把一些不在使用的 Docker 资源清理掉。

首先使用 df 命令查看磁盘的使用情况:

docker system df

返回的结果如下:

TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          33        8         16.8GB    16.39GB (97%)
Containers      9         1         37.43kB   36.44kB (97%)
Local Volumes   7         2         0B        0B
Build Cache     507       0         21.19GB   21.19GB

请注意,Reclaimable 就是可以恢复的大小,它是通过从总图像大小中减去活动图像的大小来计算的。

接下来就可以使用以下方法来清理:

  1. 清理停止的容器:使用 docker rm 命令清理停止的容器,命令格式为:docker rm <container_id>
  2. 清理未使用的镜像:使用 docker image prune 命令清理未使用的镜像,命令格式为:docker image prune
  3. 清理无用的数据卷:使用 docker volume prune 命令清理无用的数据卷,命令格式为:docker volume prune
  4. 清理未使用的网络:使用 docker network prune 命令清理未使用的网络,命令格式为:docker network prune
  5. 清理Docker缓存:使用 docker builder prune 命令清理Docker缓存,命令格式为:docker builder prune
  6. 清理Docker日志:使用 docker logs 命令查看容器日志,确认无用日志后,使用 truncate 命令清空日志文件,命令格式为:truncate -s 0 <logfile>
docker