Docker 让运维及开发部署变得容易了,正因为容易导致不经意的就在不断添加新的 docker 映像、容器等。这些都将占用了我们系统上的很多宝贵空间,又一直在快速地增加。以此我们有必要定期做下清理Docker环境,把一些不使用的 Docker 资源清理掉节省的空间出不来。
查看本机磁盘空间大小
[root@node2 ~]# df -lh
文件系统        容量  已用  可用 已用% 挂载点
devtmpfs        1.5G     0  1.5G    0% /dev
tmpfs           1.5G     0  1.5G    0% /dev/shm
tmpfs           1.5G  9.7M  1.5G    1% /run
tmpfs           1.5G     0  1.5G    0% /sys/fs/cgroup
/dev/sda3        22G   15G  7.0G   68% /
/dev/sda1       497M  162M  335M   33% /boot
overlay          22G   15G  7.0G   68% /var/lib/docker/overlay2/1c0b949be8e9cc5539e295fe3f8065a3504b106e435390bfb3d510d2a1d8e93a/merged
overlay          22G   15G  7.0G   68% /var/lib/docker/overlay2/a4f44206f03ae0031ef35e3e639eaae46009da1903216592f221155b5c8a57b0/merged
overlay          22G   15G  7.0G   68% /var/lib/docker/overlay2/ee81279fd99b918262446b8a1e767695607fbcf3485ee182e8406d9a09deb0c2/merged
overlay          22G   15G  7.0G   68% /var/lib/docker/overlay2/84b78dd890f360405388ae5b5f63516b54fde70b816bae40498c86f3fb8076b8/merged
tmpfs           299M   12K  299M    1% /run/user/42
shm              64M     0   64M    0% /var/lib/docker/containers/9a04d4404f4fea111f9e2ad03828a2421450ec5c7dae809e83ca7dfa34df6652/mounts/shm
shm              64M     0   64M    0% /var/lib/docker/containers/a8aa68a57e00fdb31bf92475190060f3f4a1698611bbd3770e2137db71787684/mounts/shm
shm              64M     0   64M    0% /var/lib/docker/containers/567aa7e4f1b5838c5d3e21a8debfe263e1f76c129d293e600b72563e3c54ca95/mounts/shm
shm              64M     0   64M    0% /var/lib/docker/containers/c16f6b35da5d2f3e99a8aa2b3281fa036427126e018444323564c9995782a18a/mounts/shm
tmpfs           299M     0  299M    0% /run/user/0
再使用 df 命令查看磁盘的使用情况:
docker system df返回的结果如下:
[root@node2 ~]# docker system df
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          4         4         3.051GB   110.7MB (3%)
Containers      4         4         6.725MB   0B (0%)
Local Volumes   4         4         479.6MB   0B (0%)
Build Cache     0         0         0B        0BReclaimable 那项 就是可以恢复的大小,它是通过从总图像大小中减去活动图像的大小来计算的。
接下来就可以使用以下方法来清理:
- 清理停止的容器:使用 
docker rm命令清理停止的容器,命令格式为:docker rm <container_id>。 - 清理未使用的镜像:使用 
docker image prune命令清理未使用的镜像,命令格式为:docker image prune。 - 清理无用的数据卷:使用 
docker volume prune命令清理无用的数据卷,命令格式为:docker volume prune。 - 清理未使用的网络:使用 
docker network prune命令清理未使用的网络,命令格式为:docker network prune。 - 清理Docker缓存:使用 
docker builder prune命令清理Docker缓存,命令格式为:docker builder prune。 - 清理Docker日志:使用 
docker logs命令查看容器日志,确认无用日志后,使用truncate命令清空日志文件,命令格式为:truncate -s 0 <logfile>。 
这些清理方法可以根据我们的需要进行组合使用,有效地清理Docker环境中那些无用资源,提高资源利用率和性能,节省空间。










