作者:张首富
时间:2020-07-19
w x:y18163201
我们在之前的文章里面讲过Docker 垃圾回收机制里面简单的介绍了下docker * prune
命令,今天我们来详细的解读下最后一个docker system prune
指令,解读这个命令之前我们先来了解下docker system df
此参数要在 client 和 service 端的版本:1.25 版本以上才能使用
这个命令是输出 Docker 在宿主机上资源的使用情况。可以查看镜像占用空间大小,容器占用空间大小,本地的volume 和 build 缓存的大小
创建模拟环境
# docker pull centos:7.6.1810
# docker pull busybox
# docker pull sellbot:20200617
# docker pull sellbot:20200614
# docker pull sellbot:20200613
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.cn-hangzhou.aliyuncs.com/smb/sellbot 20200716 f363f6d1f3f5 3 days ago 544MB
registry.cn-hangzhou.aliyuncs.com/smb/sellbot 20200714 3b4aa15b779d 4 days ago 544MB
registry.cn-hangzhou.aliyuncs.com/smb/sellbot 20200713 1f7133d6f068 6 days ago 544MB
busybox latest c7c37e472d31 2 weeks ago 1.22MB
centos 7.6.1810 f1cb7c7d58b7 16 months ago 202MB
# docker run -id --name test centos:7.6.1810 /bin/bash -c "dd if=/dev/zero of=/tmp/1.txt bs=10000 count=2000 && sleep 300 "
# docker run -id busybox /bin/sh -c "/bin/sleep 36000"
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b2fa31af4348 centos:7.6.1810 "/bin/bash -c 'dd if…" About a minute ago Up About a minute test
7bbaea0e2ded busybox "/bin/sh -c '/bin/sl…" 2 minutes ago Up 2 minutes clever_rubin
然后使用命令查看磁盘的使用情况,
# docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 5 2 797.9MB 595MB (74%)
Containers 5 1 20MB 20MB (100%)
Local Volumes 0 0 0B 0B
Build Cache 0 0 0B 0B
如果什么参数不加这显示数据的摘要信息,来解释下每列的含义:
1, Type: 显示占用磁盘空间的类型
2, Total: 当前类型的总数量,比如在我们这个环境一共有 5 个镜像,
3, ACTIVE: 处于活动中的,当前环境中有两个镜像正在使用,
4, SIZE:当前镜像,容器占用磁盘的大小,
5,RECLAIMABLE:可回收,可以被释放的,百分比就是 RECLAIMABLE/SIZE 的大小。
我们可以查看下每一项的详细信息
# docker system df -v
Images space usage:
REPOSITORY TAG IMAGE ID CREATED SIZE SHARED SIZE UNIQUE SIZE CONTAINERS
registry.cn-hangzhou.aliyuncs.com/smb/sellbot 20200716 f363f6d1f3f5 3 days ago 543.9MB 518.4MB 25.51MB 0
registry.cn-hangzhou.aliyuncs.com/smb/sellbot 20200714 3b4aa15b779d 4 days ago 543.9MB 518.4MB 25.51MB 0
registry.cn-hangzhou.aliyuncs.com/smb/sellbot 20200713 1f7133d6f068 6 days ago 543.9MB 518.4MB 25.51MB 0
busybox latest c7c37e472d31 2 weeks ago 1.224MB 0B 1.224MB 4
centos 7.6.1810 f1cb7c7d58b7 16 months ago 201.8MB 0B 201.8MB 1
Containers space usage:
CONTAINER ID IMAGE COMMAND LOCAL VOLUMES SIZE CREATED STATUS NAMES
b2fa31af4348 centos:7.6.1810 "/bin/bash -c 'dd if…" 0 20MB 12 minutes ago Exited (0) 7 minutes ago test
7bbaea0e2ded busybox "/bin/sh -c '/bin/sl…" 0 0B 12 minutes ago Up 12 minutes clever_rubin
ed33045b3f09 busybox "/bin/sh -c /bin/sle…" 0 0B 13 minutes ago Created zen_turing
fba6d39f9b6a busybox "/bin/sh -c /bin/sle…" 0 0B 13 minutes ago Exited (1) 13 minutes ago pensive_lederberg
6c2e7a0b4e7a busybox "sh" 0 18B 14 minutes ago Exited (0) 14 minutes ago priceless_mirzakhani
Local Volumes space usage:
VOLUME NAME LINKS SIZE
Build cache usage: 0B
CACHE ID CACHE TYPE SIZE CREATED LAST USED USAGE SHARED
我们可以看到当我们添加了-v
选项之后就能看到更多的信息了,相信喜欢观察的您一定发现了在 images 这一列有一个有意思的现象,就是 SIZE = SHARED SIZE + UNIQUE SIZE
我们来分开介绍每一个表格里面每一列的含义
Images space usage::