Docker磁盘空间使用分析与清理的方法

2020-06-17 07:06:19易采站长站整理

本文介绍了Docker磁盘空间使用分析与清理的方法,分享给大家,具体如下:

用了一段时间Docker后,会发现它占用了不少硬盘空间。还好Docker 1.13引入了解决方法,它提供了简单的命令System来查看/清理Docker使用的磁盘空间。

前情提要


#MyVersion
[root@dockercon ~]# docker version
Client:
Version: 17.12.0-ce
API version: 1.35
Go version: go1.9.2
Git commit: c97c6d6
Built: Wed Dec 27 20:10:14 2017
OS/Arch: linux/amd64
Server:
Engine:
Version: 17.12.0-ce
API version: 1.35 (minimum version 1.12)
Go version: go1.9.2
Git commit: c97c6d6
Built: Wed Dec 27 20:12:46 2017
OS/Arch: linux/amd64
Experimental: false

Docker 的内置 CLI 指令docker system df,可用于查询镜像(Images)、容器(Containers)和本地卷(Local Volumes)等空间使用大户的空间占用情况。


[root@dockercon ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
kalilinux/kali-linux-docker latest c927a54ec8a4 8 days ago 1.88GB
nginx latest 3f8a4339aadd 9 days ago 108MB
busybox latest 6ad733544a63 2 months ago 1.13MB
[root@dockercon ~]# docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 3 0 1.994GB 1.994GB (100%)
Containers 0 0 0B 0B
Local Volumes 0 0 0B 0B
Build Cache 0B 0B

可以进一步通过-v参数查看空间占用细节


[root@dockercon ~]# docker system df -v
#镜像空间使用情况
Images space usage:

REPOSITORY TAG IMAGE ID CREATED ago SIZE SHARED SIZE UNIQUE SiZE CONTAINERS
kalilinux/kali-linux-docker latest c927a54ec8a4 8 days ago ago 1.884GB 0B 1.884GB 0
nginx latest 3f8a4339aadd 9 days ago ago 108.5MB 0B 108.5MB 0
busybox latest 6ad733544a63 2 months ago ago 1.129MB 0B 1.129MB 0

#容器空间使用情况
Containers space usage:

CONTAINER ID IMAGE COMMAND LOCAL VOLUMES SIZE CREATED ago STATUS NAMES

#本地卷使用情况
Local Volumes space usage:

VOLUME NAME LINKS SIZE

Build cache usage: 0B

空间清理

不同状态已使用镜像(used image)未引用镜像(unreferenced image)悬空镜像(dangling image)
镜像含义指所有已被容器(包括已停止的)关联的镜像。