Помогает ли новый инструмент Habitat Chef работать с Docker? Если да, то какова проблема, которую пытается решить Хабитат или она просто пытается заменить инструменты в наборе инструментов Docker (например, Docker Swarm, Docker Machine, Docker Compose и т.д.)?
Какая разница между новым инструментом Habitat Docker и Chef?
Ответ 1
Это ограничивает пределы политики StackOverflow по открытым вопросам, но я все равно отвечу:
Докер и Хабитат на самом деле не слишком много перекрываются. Основным предметом конкурса является создание артефактов выпуска. Докер имеет Dockerfiles и docker build
, Хабитат имеет планы и Studio. Результатом обоих может быть изображение Docker, хотя это, в основном, tarball файловой системы наряду с некоторыми метаданными. Habitat больше нацелена на создание супер минимальных артефактов, т.е. Не включая дистрибутив Linux любого типа, никакой менеджер пакетов, просто статически скомпилированный исполняемый код и любые файлы поддержки, необходимые для этого конкретного приложения.
Что касается времени выполнения, они на 100% ортогональны. Docker - это способ запуска процесса внутри совокупности функций безопасности Linux, которые в совокупности называются "контейнером". Habitat - небольшая заглушка, которая окружает ваш процесс и обрабатывает такие вещи, как дистрибутив конфигурации времени выполнения, передача секретов и обнаружение служб. Эти функции больше перекрываются с инструментами более высокого уровня, такими как Kube, но даже там они едва пересекаются. Вам нужно что-то запустить hab-sup
, который может быть docker run
(возможно, через Swarm), Nomad, Kube или даже неконтейнерную систему, такую как Upstart или Runit, если хотите. Единственная точка взаимодействия между ними заключается в том, что все инструменты запускают процесс начальной точки, а hab-sup
- это общий процесс точки входа, который предоставляет любое приложение, которое работает под некоторыми классными функциями, если они хотят использовать их.