Docker容器特定的磁盘配额
每个Docker容器默认configuration10GB磁盘空间,这是devicemapper的默认configuration,适用于所有容器。 我如何限制inode或磁盘配额到个别容器?
例如 :
容器#1磁盘10GB和10000 Inode值
容器#2磁盘20GB和100000 Inode值
注意:我知道我们可以通过使用docker -d--storage-opt
更改默认值10GB,但是这适用于每个包含器。
问题:如何限制inode或磁盘配额到单个容器?
从1.12开始,这支持dm,btrfs和zfs。 语法是:
$ docker create -it --storage-opt size=120G fedora /bin/bash
请注意,大小必须(显然)高于守护进程中设置的任何值。
相关文档链接。
如问题#16670中所述 (允许限制容器可用的磁盘空间)
一些现有的卷插件能够在带外创build固定大小卷,然后可以将其安装在容器运行中。
或者,您可以考虑编写自己的卷插件,允许您将文件大小embedded到卷名中。
旧版3804增加了:
您应该将数据存储在一个卷中。
AFAIK,唯一默认限制容器磁盘的Docker存储后端是devicemapper。 你可以configuration守护进程来调整这个大小,所以它不会被卡住。
现在,devicemapper,zfs和btrfs支持配额。
aufs或overlay可能不会被支持。基本上,可以在守护程序级别或运行时设置
--storage-opt size=1G
。
所以目前还没有每个容器的配额。 可以有卷,只要卷插件支持。