Рейтинг:9

Snap против системного контейнера

флаг cn

Я видел это: в чем основное различие между Docker и Snap?

Я не совсем вижу разницу между оснасткой и системными контейнерами.

  • VM имеет отдельное ядро ​​​​Linux и использует фиксированные ресурсы хоста с использованием гипервизора.
  • Контейнер Linux (системный контейнер, повторно использует/совместно использует ядро ​​и использует динамические ресурсы хоста.
  • Docker использует не ядро, а демон Docker (ранее Docker использовал контейнер Linux) для динамического распределения ресурсов.

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

Обновление: Snap — это песочница с опосредованным доступом к хост-системе.

ChanganAuto avatar
флаг us
Нет, снэп тут ни при чем. Это просто новый способ упаковки программного обеспечения.
user535733 avatar
флаг cn
Путаница понятна. Docker часто неправильно используют как упаковку — приложения, которые на самом деле не нужно помещать в контейнеры, но автор хочет распространять их таким образом. И пакеты Snap продают свои функции изоляции и безопасности, которые на первый взгляд *кажутся* похожими на контейнеризацию, хотя метод Snap совершенно другой.
Рейтинг:12
флаг vn

Я думаю, что этот слайд из презентации Марка о Container Camp 2016 объясняет многое в одном изображении и имеет для меня большой смысл:

введите описание изображения здесь

Ссылка на видео: Почему нам нужен другой контейнер исключительно для приложений — Марк Шаттлворт (Canonical) — YouTube

Подводя итог вкратце:

  • LXC/LXD — это «машинные контейнеры» с постоянной файловой системой, которая работает как виртуальная машина
  • Docker — это «контейнеры процессов» с наложенной файловой системой на статическое изображение (с возможностью постоянного хранения).
  • Snap — это «контейнеры приложений», которые напрямую расширяют функциональность базового хоста.

Мой личный опыт:

  • В основном я использую Docker для всех различных веб-сервисов в моей домашней сети (UniFi, Grafana/Prometheus, Bookstack, Nextcloud, Syncthing, Transmission, Proxy Manager, Iperf3 и т. д.), поскольку Docker особенно хорошо подходит для изоляции данных и предоставления портов для различные услуги.

  • Если бы мне когда-нибудь понадобилась функциональность, подобная «VM» (где мне нужно было установить пользовательские пакеты, которые сохранялись бы в контейнере), я бы взглянул на LXC/LXD.

  • У меня смешанные чувства по поводу снимков, и я думаю, что это полностью зависит от вашего варианта использования. Для тех приложений, которые официально распространяются в виде снимков, они могут того стоить (например, LXD или Multipass, которые являются официальными снимками Canonical). Снимки сторонних производителей могут быть, по меньшей мере, смешанного качества.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.