我系统上的docke info
命令输出如下:
# docker info
Containers: 0
Images: 0
Storage Driver: devicemapper
.....
Data Space Used: 1.821 GB
Data Space Total: 107.4 GB
Data Space Available: 32.92 GB
Metadata Space Used: 1.479 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.146 GB
......
“Metadata Space Used
”+“Metadata Space Available
”= Metadata Space Total
,但为什么“Data Space Used
”+“Data Space Available
”!=“{{1} }“?
答案 0 :(得分:0)
如果devicemapper配置了loop-lvm,那么它使用"稀疏"储存设备。您可以使用任何所需的大小指定该设备的大小,但是您永远不能使用比计算机上实际可用的存储空间更多的存储空间。
报告为Data Space Total
的大小是为"稀疏"指定的大小。设备(在这种情况下为100 GB)。 "数据空间可用"显示系统上实际可用的空间量。
例如,下面,我在具有40GB实际存储空间的系统上创建了一个200GB的设备(使用-s devicemapper --storage-opt dm.loopdatasize=200G
守护程序选项);
Storage Driver: devicemapper
Pool Name: docker-253:1-138480-pool
Pool Blocksize: 65.54 kB
Base Device Size: 10.74 GB
Backing Filesystem: ext4
Data file: /dev/loop0
Metadata file: /dev/loop1
Data Space Used: 305.7 MB
Data Space Total: 214.7 GB
Data Space Available: 39.79 GB
Metadata Space Used: 1.147 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.146 GB
Udev Sync Supported: true
Deferred Removal Enabled: false
Deferred Deletion Enabled: false
Deferred Deleted Device Count: 0
您可以看到它报告Data Space Total: 214.7 GB
(200GB),但显示39.79 GB可用(系统上可用的物理空间)
请注意,当物理空间不足时,您将受到数据损坏,并且您可能无法从中恢复,因此值得监控您有多少空间离开了。
有关配置devicemapper(也适用于生产,使用direct-lvm)的更多信息,请参阅https://docs.docker.com/engine/userguide/storagedriver/device-mapper-driver/