很多时候,我在构建 Dockerfile 时遇到这个错误:
devmapper:Thin Pool 有 157168 个空闲数据块,少于最低要求的 163840 个空闲数据块。在精简池中创建更多可用空间或使用 dm.min_free_space 选项更改行为
我的磁盘有 250Go,当我执行 docker 版本时,我可以在存储部分看到:
Storage Driver: devicemapper
Pool Name: docker-253:0-19468577-pool
Pool Blocksize: 65.54kB
Base Device Size: 21.47GB
Backing Filesystem: xfs
Data file: /dev/loop0
Metadata file: /dev/loop1
Data Space Used: 97.03GB
Data Space Total: 107.4GB
Data Space Available: 10.35GB
Metadata Space Used: 83.67MB
Metadata Space Total: 2.147GB
Metadata Space Available: 2.064GB
Thin Pool Minimum Free Space: 10.74GB
Udev Sync Supported: true
Deferred Removal Enabled: false
Deferred Deletion Enabled: false
Deferred Deleted Device Count: 0
Data loop file: /var/lib/docker/devicemapper/devicemapper/data
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
Library Version: 1.02.135-RHEL7 (2016-11-16)
Run Code Online (Sandbox Code Playgroud)
我在停止 docker 服务后尝试过:我尝试过:
dockerd --storage-opt dm.thinpooldev dm.min_free_space=3%
dockerd --storage-opt dm.thinp_autoextend_percent
Run Code Online (Sandbox Code Playgroud)
但是这些命令没有成功。
如何增加Data Space Total(磁盘可用空间是107.4GB的2倍以上)?或者如何减少精简池最小可用空间:10.74GB?
xma*_*mar -2
免责声明:此答案并未解决发帖者的具体问题。但是,对于收到相同错误消息的人来说,它可能会有所帮助或减轻问题。
该答案指定了通常释放空间的方式,而不是配置要使用的空间量。
可能是因为 docker 用容器、图像或卷占用了分配的空间。要查看 Docker 的实际使用情况,请运行:
$ docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 135 27 41.33GB 33.77GB (81%)
Containers 34 32 509.4MB 15.21kB (0%)
Local Volumes 387 3 3.706GB 3.706GB (99%)
Run Code Online (Sandbox Code Playgroud)
修剪有助于清理:
$ docker system prune
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all dangling images
- all build cache
Are you sure you want to continue? [y/N] y
Run Code Online (Sandbox Code Playgroud)
(请参阅 Prune 页面中旧版 Docker 版本的替代方案)。
请注意,默认情况下不会删除卷,以防止数据丢失。您必须自己指定它,--volumes手动添加或清理它们。
| 归档时间: |
|
| 查看次数: |
3516 次 |
| 最近记录: |