Docker和Chef的新Habitat工具有什么区别?

厨师的新Habitat工具是否可以与Docker协同工作? 如果是这样的话,栖息地试图解决什么问题还是只是试图replaceDocker工具集中的工具(例如,Docker Swarm,Docker Machine,Docker Compose等)?

这是摆在开放式问题StackOverflow政策的限制,但我会回答:

Docker和Habitat实际上并不重叠。 竞争的要点在于构build发布工件。 Docker有Dockerfiles和docker docker build ,Habitat有计划和Studio。 两者的输出可以是一个Docker镜像,它基本上是一个文件系统的tarball和一些元数据。 栖息地的目标更多的是build设超级最小的文物,即不包括任何types的Linux发行版,没有包pipe理器,只是静态编译的可执行代码和任何支持文件,你需要为特定的应用程序。

至于运行时间,它们是100%正交的。 Docker是一种在现在统称为“容器”的一系列Linux安全特性中运行进程的方法。 Habitat是一个存在于你的进程周围的小存根,处理诸如运行时configuration分发,秘密传输和服务发现等事情。 这些function与更高级别的工具(如Kube)更为重叠,但即使在那里,它们也几乎没有重叠。 你需要一些实际启动hab-sup ,可能是docker run (可能通过Swarm),Nomad,Kube,甚至是一个非容器系统,如Upstart或Runit,如果你想的话。 这些工具之间的唯一交互点就是这些工具都启动了一个入口点进程,而hab-sup是一个通用的入口点进程,如果他们想要使用em,它将给出在某些很酷的function下运行的任何应用程序。