默认情况下,每个Docker容器将配置10 GB磁盘空间,这是devicemapper的默认配置,适用于所有容器。如何将inode或磁盘配额限制为单个容器?</ p>
例如:
容器#1,磁盘10GB和10000 Inode值
容器#2,磁盘20GB和100000 Inode值
注意:我知道我们可以使用docker -d--storage-opt
更改默认值10GB,但这适用于每个容器。
问题:如何将inode或磁盘配额限制为单个容器?</ p>
答案 0 :(得分:2)
从1.12开始,这支持dm,btrfs和zfs。语法是:
$ docker create -it --storage-opt size=120G fedora /bin/bash
请注意,大小必须(显然)高于您在守护程序中设置的值。
答案 1 :(得分:0)
如issue #16670中所述(允许限制容器可用磁盘空间的能力)
一些现有的卷插件能够在带外创建固定大小的卷,然后可以在容器运行时安装。 或者你可以考虑编写自己的卷插件,它允许你将文件大小嵌入到卷名中。
较旧的issue 3804添加:
您应该将数据存储在卷中。
AFAIK是唯一默认限制容器磁盘的Docker存储后端是devicemapper。您可以配置守护程序来调整该大小,因此它不会被卡住&#34;在任何真正的意义上。
devicemapper,zfs和btrfs现在支持配额 可能无法在aufs或overlay中获得支持。
基本上,可以在守护程序级别或运行时设置
--storage-opt size=1G
。
所以还没有每个容器的配额。如果卷插件支持卷,则可以使用卷。