2016-07-23 95 views
3

默認情況下,每個Docker容器都將配置10 GB的磁盤空間,這是devicemapper的默認配置,適用於所有容器。我如何限制inode或磁盤配額到單個容器?Docker容器特定磁盤配額

例如:

容器#1磁盤10GB和10000的Inode值

容器#2盤20GB和100000的Inode值

注:據我瞭解,我們可以通過使用docker -d--storage-opt更改默認值10GB,但這適用於每個包含器。

問題:如何限制i節點或磁盤配額到單個容器?

回答

0

作爲評論在issue #16670(允許限制到一個容器可用磁盤空間的能力)

現有的一些體積插件必須創建固定大小的卷的能力外的頻帶,然後可將其安裝在集裝箱運行。
或者,您可以考慮編寫自己的卷插件,它允許您將文件大小嵌入到卷名中。

issue 3804補充說:

你應該存儲在體積數據。

AFAIK,默認情況下,唯一的限制容器磁盤的Docker存儲後端是devicemapper。你可以配置守護進程來調整這個大小,所以它不會被卡住。

配置現在在devicemapper,zfs和btrfs中受支持。
可能不會在aufs或overlay中被支持。

基本上,可以在守護程序級別或運行時設置--storage-opt size=1G

因此,目前還沒有每個容器的配額。如果音量插件支持,則可以使用音量。

2

從1.12開始,dm,btrfs和zfs支持此功能。語法是:

$ docker create -it --storage-opt size=120G fedora /bin/bash 

請注意,大小必須(顯然)超過您在守護進程選擇中設置的值。

Relevant docs link.