LINUX.ORG.RU

Контейнеры vs виртуальные машины

 , ,


0

1

Всем добрый день!

Пытаюсь разобраться на общем уровне в различии, что есть контейнер по сравнению с виртуальной машиной.

Юзал виртуалки - что это такое представляю себе: виртуальная машина в виде файла виртуального жёсткого диска, внутри которого в бинарном виде вся файловая система гостевой операционной системы и для работы ВМ нужен гипервизор, который умеет перехватывать ввод/вывод гостевой ОС к железу и обрабатывать его.

Контейнеры юзал буквально пару раз в тестовой среде на базе службы контейнеров Lunix - lxd. Обращался к ним через lxc. Созданный контейнер видел в папке /var/lib/lxd/containers со всей служебной инфраструктурой папок /bin /etc /lib /lib64 /usr /tmp /var. Знаком с механизмом Linux под названием chroot. И для меня сейчас контейнер Linux - это один из методов изоляции при работе приложения внутри предсозданной инфраструктуры (образа) с использованием chroot при этом с использованием ядра той операционной системы, где установлена система управления контейнерами.

Хотел бы понять прав я или нет? Нужно для спора с коллегой по работе, который утверждает, что контейнеры - это один из способов/подвидов виртуализации.

ПС: просьба не банить за вопрос.

Спасибо.

Ответ на: комментарий от KivApple

У виртуалки свой экземпляр ядра Linux, а контейнер использует хостовое ядро. Контейнер похож на chroot на стероидах.

Спасибо. Это на текущий момент теперь понятно.

Ramirezkiv2
() автор топика
Ответ на: комментарий от Ramirezkiv2

Но в силах ли одного инженера-программиста создать собственный простенький гипер

Если полагаться на аппаратную виртуализацию, то несложно. Там всего несколько ассемблерных инструкций (VMCALL/VMRUN), всю работу делает железо. Гугли Blue Pill. Это руткит, который становится гипервизором и переводит ОС в виртуалку.

bigbit ★★★★★
()
Последнее исправление: bigbit (всего исправлений: 1)