Как стать автором
Обновить

Как собрать Linux-контейнер с нуля и без Docker

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров20K
Всего голосов 47: ↑46 и ↓1+55
Комментарии16

Комментарии 16

Неоднократно сталкивался с утверждением, что ПО в докере работает медленнее, чем чистая установка. Если это так и докер под капотом делает всё тоже самое, что описано в статье, то откуда берётся это замедление?

Мне кажется, как и многие другие утверждения «работает медленно», оно не основывается ни на каких объективных метриках, а основывается чисто на ощущениях и интуиции.

Сходу нашел статью где разница в производительности контринтуитивно тем больше, чем меньше нагрузка. Но причины понять не могу.

За ссылку спасибо. Интересно будет поискать на досуге и для других веб-серверов.

Надо уточнять, о какой ОС речь. Если Линукс, то замедление и дополнительно занимаемое место меньше, чем то же самое под другими ОС.

Медленнее, накладные расходы на изоляцию процессов и ФС, плюс явные ограничения на выделяемые для контейнера ресурсы. Накладные расходы не критичны в большинстве случаев, но они есть

А что такое «накладные расходы на изоляцию»? Я так понял, что сам механизм cgroups итак всегда работает, просто по умолчанию группа большая и одна.

В основе подобных штук всегда лежит некий фильтр, чем шире диапазон этого фильтра, тем медленнее он работает, ИМХО это очевидно. Кроме того существуют различные оптимизации, например если фильтр "пустой" его можно отключить. И т.п.

Оно не медленнее работает, просто на работу самого докера нужны ресурсы, и если у системы с ресурсами проблема то это будет отражаться и на приложении.

Интересно, но к сожаление не очень явно освещен один из главных моментов - откуда в контейнере берется собственно операционная система? Поскольку явно не отражено, что используется ядро ОС хоста, может показаться, что в контейнере запускается полностью самостоятельная Alpine Linux. Отсюда часто возникает путанница между виртуализацией и контейнеризацией.

Это, кажется, она и есть. Просто тут указали, что это перевод, а там сделали так же, просто по-другому и удалили все ссылки на оригинального автора.

Вот в тему статьи, когда блокировали докер хаб, я написал проект по созданию контейнеров из scratch (без загрузки готовых образов). Там две OS на самом гитхабе собирается, с разными версиями под разные архитектуры, держите для справки https://github.com/kolserdav/docker-container

Зарегистрируйтесь на Хабре, чтобы оставить комментарий