2016-10-06 16 views
0

Я хотел бы ограничить размер контейнера, однако используя драйвер хранилища по умолчанию aufs (для Ubuntu 14.04), я получаю сообщение об ошибке при попытке использовать --storage -оптовые аргументыdocker, --storage-opts и aufs storage-driver

$ docker create -it --name="disk_test" --storage-opt size=100G --cpuset-cpus="10,11,12,13,14,15,16,17" -m=16G ubuntu:14.04 
Unable to find image 'ubuntu:14.04' locally 
14.04: Pulling from library/ubuntu 
04c996abc244: Pull complete 
d394d3da86fe: Pull complete 
bac77aae22d4: Pull complete 
b48b86b78e97: Pull complete 
09b3dd842bf5: Pull complete 
Digest: sha256:bd00486535fd3ab00463b0572d94a62715cb790e482d5419c9179cd22c74520b 
Status: Downloaded newer image for ubuntu:14.04 
Error response from daemon: --storage-opt is not supported for aufs 

Когда я использую devicemanager в качестве моего накопителя, он работает. Является ли единственным вариантом выбрать что-то другое, кроме aufs, если я хочу ограничить размер корневой файловой системы моего контейнера?

ответ

2

--storage-opt size=X доступен при работе на devicemapper, zfs и btrfs в Докер 1.12, возможно, на окнах, а также.

В настоящее время эта опция недоступна для драйверов aufs или overlay/2.

Похоже, что overlay2 on XFS получит поддержку в Docker 1.13-1.14. Поддержка Ext4 будет проходить через некоторое время после того, как она будет зависить от обновлений для более нового ядра, чем большинство дистрибутивов, используемых в настоящее время (4.5+).

aufs может не получить эту функцию, поскольку Docker, похоже, стремится к тому, чтобы накладывать 2 по умолчанию, поскольку ядра 4+ встроены в поддержку наложения.

0

Вы можете сказать, что Docker использует back-сервер хранилища DeviceMapper вместо AuFS. Таким образом, каждый контейнер будет работать на блочном устройстве