В чём разница между контейнеризацией и виртуализацией
Виртуализация -- технология, которая позволяет низкоуровнево эмулировать полноценный ПК вместе с его комплектующими.
ОС запущенная на виртуальной машине (ВМ) будет иметь собственные выделенные ей ресурсы такие как: процессор\ОЗУ\Диск\Сеть и не будет знать о существовании хост-машины, на которой запущена ВМ
Притом ресурсы, которые выделяются для работы ВМ, невозможно динамически изменить в ходе работы ВМ, и ВМ будет работать ровно с тем набором выделенных ресурсов, которые ей указали при запуске
Контейнеризация -- технология, которая позволяет запускать изолированные от внешней среды контейнеры с приложениями на базе ядра хост-машины, поверх которого выполняются надстройки из других базовых образов.
Изоляция контейнеров достигается засчёт механизма linux namespaces, за выделение ресурсов контейнеру отвечает механизм linux cgroups (в случае, если контейнер запускается не из-под UNIX системы -- сначала запускается виртуальная машина с ОС UNIX на борту, а затем контейнер
Контейнеризация позволяет быстрее разворачивать приложения, добавлять им ресурсов, масштабировать и запускать на любой системе, которая поддерживает контейнеризацию
Oct. 25, 2023, Добрый Самаритянин
