Chef的新Habitat工具是否与Docker一起使用?如果是这样,Habitat试图解决什么问题,或者只是试图替换Docker工具集中的工具(例如,Docker Swarm,Docker Machine,Docker Compose等)?
答案 0 :(得分:22)
这是限制StackOverflow政策对开放式问题的限制,但无论如何我都会回答:
Docker和Habitat并没有太多重叠。竞争的主要方面是建立发布工件。 Docker有Dockerfiles和docker build
,Habitat有计划和Studio。两者的输出可以是Docker镜像,这基本上是文件系统的tarball以及一些元数据。 Habitat旨在构建超级最小的工件,即不包括任何类型的Linux发行版,没有包管理器,只是静态编译的可执行代码以及该特定应用程序所需的任何支持文件。
至于运行时,它们是100%正交的。 Docker是一种在一堆Linux安全功能中运行进程的方法,这些功能统称为"容器"现在。 Habitat是一个围绕您的进程的小存根,它处理诸如运行时配置分发,秘密传输和服务发现之类的事情。这些功能与Kube等高级工具更加重叠,但即便如此,它也只是几乎没有重叠。您需要实际启动hab-sup
,可能是docker run
(可能通过Swarm),Nomad,Kube,甚至是像Upstart或Runit这样的非容器系统(如果您愿意)。这些工具之间唯一的交互点是所有工具都启动入口点流程,hab-sup
是一个通用的入口点流程,如果他们想要使用“em”,它会在一些很酷的功能下提供它运行的任何应用程序。