Pull to refresh

Comments 10

Спасибо за статью, но это прямо «неделя статей о Docker на Хабре».
Это же прекрасно, смысл ресурса как раз в обмене опытом сообщества, имхо, процесс удачно проходит =)
Такое чувство, что тут одни админы датацентров сидят.
Ну когда система взята на вооружение крупными датацентрами, они много багфиксят или репортят о багах.
И обычно всё начинается с датацентров, а потом плавно спускается до компаний из 50 сотрудников, так было с виртуалдизацией серверов.

И вот тот момент, когда пора технологии спускаться, это когда датацентры отладили, довольны и пишут стати о ней ;)
да и Microsoft обещал сделать поддержку Docker, но для меня пока остается загадкой каким образом они это будут делать
Встроят поддержку в сервер скорей всего только контейнеров для винды, но встроят точно, пруф.
Астрологи объявили неделю легковесных контейнеров. Количество постов про Docker удвоилось.
Кстати, про лимиты ресурсов для lxc/docker — сеть, память, процессор, дисковое место — где можно годный мануал почитать? а то ограничил память до 128, к примеру — а контейнер видит всю физическую и хоть тресни — валится:( или всю сетевую полосу отьедает.
Спасибо.
Вообще, лучше сразу начать с мануалов по cgroups и их возможностям.

access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/sec-memory.html

Вот тут — применительно к докеру.
fabiokung.com/2014/03/13/memory-inside-linux-containers/
goldmann.pl/blog/2014/09/11/resource-management-in-docker/

Ну, и, собственно, github.com/docker/libcontainer

Контейнер и будет видить всю физическую память, поскольку он ее читает и /proc/meminfo. Докер, если я не ошибаюсь, просто перемонтирует внутри контейнера procfs как есть, никак его не изменяя. Суть лимита памяти заключается чуть-чуть в ином. Если содержимое конейнера выходит за лимит памяти, в контейнере просто срабатывает oom-killer. Ну и у докера есть еще одна неприятная деталь.

1. Когда вы выставляете докеру лимит памяти, он задает его через memory.limit_in_bytes в cgroup контейнера.
2. Но кроме этого, если в системе доступен swap, он устанавливает memory.memsw.limit_in_bytes в значение равное двум лимитам памяти, который вы выставили. В этом случае, oom-killer может не прийти достаточно долго.

Что с сетью — не могу сказать, не пользовался ограничением сети. Но если не ошибаюсь, докер никак не ограничивает трафик контейнера. Он просто его тегирует для того, чтобы потом на хосте Вы могли посторонними средствами этот трафик ограничивать.
Sign up to leave a comment.

Articles