В большой шумихе вокруг контейнеров я часто слышу такие утверждения, как:
Контейнеры Linux очень легкие ... вы можете потенциально запускать тысячи из них на одном сервере ...
Я понимаю, что по определению контейнеры совместно используют ядро базовой ОС и что сами контейнеры (демоны контейнеров) являются легкий, но это не значит, что кто-то собирается поджечь тысячу пустых контейнеров. Внутри контейнеров будут выполняться процессы базы данных, веб-серверы, задания всех типов, и все они имеют свои типичные требования к памяти / рабочему набору. Так как же практическое значение имеет утверждение о возможности запуска тысяч контейнеров?
Мне кажется, что точка - это , что пустые контейнеры легкие. Почему это имеет значение? Потому что, если вы определяете размер чего-либо на основе запуска X многих процессов базы данных, а затем думаете: «О, я хочу поместить их в контейнеры вместо этого», ваш следующий вопрос заключается в том, насколько вам нужно изменить размер, чтобы разместить X-контейнеры в дополнение к существующим. Проблемы с размером.
Концепция, согласно которой сами контейнеры являются легкими, означает, что вам не нужно учитывать их при определении размера, за исключением, возможно, случаев, когда X очень велик.
По сравнению с запуском отдельных виртуальных машин, комментарий Майкла Хэмптона уместен :
Потому что, имея тот же сервер, вы можете запускать гораздо меньше традиционных виртуальных машин.