[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

LXC vs Docker и форматы контейнеров



Всевозможные User-mode Linux, OpenVZ, Xen и т.д. я пропустил. Его нужно было
либо на голом железе крутить или с особыми ядрами. В общем VistualBox можно
кликать, экономя время и мозги.

Идея chroot стала ясна после Linux From Scratch, аж захотелось скайп там
запускать.

Потом пришел LXC, но его нужно было конфигурировать через текстовые файлы. Я
не осилил настройку бриждей.

Vagrant + VirtualBox мне абсолютно понятен, но тяжеловесен и узкоприменим.
Напишешь скрипт развертывания - а к проду он не применим, только локально
поиграться ((

Всевозможные Chief, Ansible, Puppet, Salt, CFEngine я пропустил, поигравшись с
Ansible и CFEngine только потому что оба в дистрибутиве Alpine, а последний
еще не тянет Ruby/Python.

Зачем настраивать коробку очередным YAML DSL, если можно ее загрузить
контейнерами. Как для обывателей - вставил в розетку и работает ))

Мания на контейнеры пошла с 2013: https://www.youtube.com/watch?v=wW9CAH9nSLs

Из контейнерного хайпа мне нравится только что можно собирать юзерспейс
"дистрибутив" с версиями всего внутри как сам захочишь.

Вопросы (концептуальные, интересно почему, а не юзай продукт С потому что мне
нравится):

================================================================

* Во что оборачивать контейнеры? Вроде есть:

  - https://github.com/moby/moby/tree/master/image/spec + https://github.com/docker/distribution/tree/master/docs/spec
  - https://github.com/opencontainers/image-spec

и докеровский Manifest Version 2, Schema 2 - самый популярный.

По идее это tar файл, только что то для его сборки долго требовался
root-сервис от Docker и его все ненавидели, кто следует тру-философии.

Вроде как все облачные хостеры его поддерживают.

Правильно что никто не стремится поддердивать другие форматы? Или есть
альтернатива и при том рабочая?

================================================================

* Стоит ли заморачиваться с LXC для развертывания локальных демо-стендов? Как
  писал выше я умею варить Vagrant+VirtualBox. Пару лет назад настройка
  бриждей была непосильна разуму.

Docker + Compose - вроде функциональная альтернатива. Я еще не понимаю как там
думать в терминах портов, с VirtualBox я работал в терминах IP адресов, что
приближено к реальности...

================================================================

* Есть ли локальные запускалки контейнеров, альтернативные Docker?

================================================================

* Правильно ли впихивать 10 гигабайт в контейнер или это должен быть Alpine
  (100 mb с lighttpd) или CoreOS (500mb)?

Не будет Debian без Python и без 1GB места в голом виде?

================================================================

* Микросервис - это потому что выставляется немного HTTP REST эндпоинтов,
  связаных функционалом?

А то когда видишь "микросервисный" Java-jar файл в 100 MB в гигабайтном
убунтовом контейнере - дисонанс с моим калькулятором МК-61 с 104 однобайтными
ячейками памяти...

================================================================

* Зачем вообще разбираться с Puppet, Ansible, Salt, CFEngine и т.д., если все
  пакуется в контейнеры?

Что бы менеджить оставшийся не "микросервисный" софт (базы данных, файерволы и
остальное, что требует больше чем RAM+CPU)?

================================================================

* Можно ли жить без Docker?

По идее Docker не нужен, нужен только формат пакета и "исполнятор". Запускать
как бы и раньше умели другими технологиями... Прибавочная стоимость в
оркестрации, а не голом запускании...

По идее тут будет у нас https://packages.debian.org/source/sid/kubernetes

Да и сам Докер не без приключений добрался в Debian
https://www.collabora.com/news-and-blog/blog/2018/07/04/docker-io-debian-package-back-to-life/

-- 
http://defun.work/


Reply to: