Gymterview
junior

Что такое контейнеризация и чем она отличается от виртуализации?

Контейнеризация — это метод виртуализации на уровне операционной системы, при котором ядро ОС позволяет запускать несколько изолированных экземпляров пользовательского пространства (контейнеров) вместо одного.

Ключевые отличия от классической виртуализации

Характеристика Виртуализация (VM) Контейнеризация
Уровень изоляции Полная ОС с собственным ядром Общее ядро хостовой ОС
Гипервизор Требуется (VMware, VirtualBox, Hyper-V) Не требуется
Размер Гигабайты (полная ОС) Мегабайты (только приложение и зависимости)
Время запуска Минуты Секунды
Потребление ресурсов Высокое (каждая VM имеет свою ОС) Низкое (контейнеры разделяют ядро)
Портативность Ограничена форматом VM Высокая (стандарт OCI)
Плотность Десятки VM на хосте Сотни/тысячи контейнеров на хосте

Виртуальная машина эмулирует полный аппаратный сервер, включая процессор, память, диск, сеть, и на ней работает полноценная гостевая ОС. Контейнер же использует ядро хостовой ОС и изолирует только процессы, файловую систему и сеть с помощью механизмов Linux: namespaces (изоляция) и cgroups (ограничение ресурсов).

На собеседовании: ключевое отличие — контейнеры разделяют ядро хостовой ОС, а VM содержат полноценную гостевую ОС. Из-за этого контейнеры легче, быстрее стартуют, но дают меньшую изоляцию. Упомяните namespaces и cgroups — это покажет понимание внутренних механизмов.