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

所以目前还没有每个容器的配额。 可以有卷,只要卷插件支持。