У меня есть физическая хост-машина, на которой работает Ubuntu 14.04. Он имеет пропускную способность 100 ГБ и 100 Мбит сети. Я установил Docker и запустил 10 контейнеров. Я хотел бы ограничить каждый контейнер максимальным диском 10G и пропускной способностью 10M.
После прохождения официальных документов и поиска в Интернете я до сих пор не могу найти способ выделения указанного размера диска и пропускной способности сети в контейнер.
Я думаю, что это может быть невозможно в Docker напрямую, возможно, нам нужно обойти Docker. Означает ли это, что мы должны использовать что-то "базовое", такое как LXC или Cgroup? Кто-нибудь может дать какие-то предложения?
Edit:
@Mbarthelemy, ваше предложение, похоже, работает, но у меня все еще есть некоторые вопросы о диске:
1) Можно ли разместить в каждом контейнере другой размер (например, 20G, 30G и т.д.)? Вы сказали, что он жестко закодирован в Docker, поэтому кажется невозможным.
2) Я использую приведенную ниже команду для запуска демона Docker и контейнера:
docker -d -s devicemapper
docker run -i -t training/webapp /bin/bash
то я использую df -h
для просмотра использования диска, он дает следующий результат:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/docker-longid 9.8G 276M 9.0G 3% /
/dev/mapper/Chris--vg-root 27G 5.5G 20G 22% /etc/hosts
из вышеизложенного я думаю, что максимальный диск, который может использовать контейнер, по-прежнему больше 10G, что вы думаете