Docker 和 Chef 的新 Habitat 工具有什么区别?
What's the difference between Docker and Chef's new Habitat tool?
Chef 的新 Habitat 工具能以某种方式与 Docker 一起使用吗?如果是这样,Habitat 试图解决什么问题,或者它只是试图替换 Docker 工具集中的工具(例如,Docker Swarm、Docker Machine、Docker Compose、 ETC。)?
这超出了 Whosebug 关于开放式问题的政策限制,但无论如何我都会回答:
Docker 和 Habitat 并没有太多重叠。比赛的重点是构建发布工件。 Docker 有 Docker 个文件和 docker build
,Habitat 有计划和工作室。两者的输出都可以是 Docker 图像,它基本上是文件系统的 tarball 以及一些元数据。 Habitat 的目标更多是构建超级最小的工件,即不包括 Linux 任何类型的发行版,没有包管理器,只有静态编译的可执行代码和特定应用程序所需的任何支持文件。
至于运行时间,它们是 100% 正交的。 Docker 是一种 运行 进程内部的一堆 Linux 安全功能现在统称为 "container"。 Habitat 是围绕您的流程并处理 运行 时间配置分发、机密传输和服务发现等事情的小存根。这些功能与 Kube 等更高级别的工具有更多重叠,但即使在那里也只是勉强重叠。你需要一些东西来真正启动 hab-sup
,它可以是 docker run
(可能通过 Swarm)、Nomad、Kube,或者如果你愿意,甚至可以是像 Upstart 或 Runit 这样的非容器系统。它们之间唯一的交互点是那些工具都启动了一个入口点进程,hab-sup
是一个通用的入口点进程,如果他们想使用它们,它会在 运行 的任何应用程序下提供一些很酷的功能。
Chef 的新 Habitat 工具能以某种方式与 Docker 一起使用吗?如果是这样,Habitat 试图解决什么问题,或者它只是试图替换 Docker 工具集中的工具(例如,Docker Swarm、Docker Machine、Docker Compose、 ETC。)?
这超出了 Whosebug 关于开放式问题的政策限制,但无论如何我都会回答:
Docker 和 Habitat 并没有太多重叠。比赛的重点是构建发布工件。 Docker 有 Docker 个文件和 docker build
,Habitat 有计划和工作室。两者的输出都可以是 Docker 图像,它基本上是文件系统的 tarball 以及一些元数据。 Habitat 的目标更多是构建超级最小的工件,即不包括 Linux 任何类型的发行版,没有包管理器,只有静态编译的可执行代码和特定应用程序所需的任何支持文件。
至于运行时间,它们是 100% 正交的。 Docker 是一种 运行 进程内部的一堆 Linux 安全功能现在统称为 "container"。 Habitat 是围绕您的流程并处理 运行 时间配置分发、机密传输和服务发现等事情的小存根。这些功能与 Kube 等更高级别的工具有更多重叠,但即使在那里也只是勉强重叠。你需要一些东西来真正启动 hab-sup
,它可以是 docker run
(可能通过 Swarm)、Nomad、Kube,或者如果你愿意,甚至可以是像 Upstart 或 Runit 这样的非容器系统。它们之间唯一的交互点是那些工具都启动了一个入口点进程,hab-sup
是一个通用的入口点进程,如果他们想使用它们,它会在 运行 的任何应用程序下提供一些很酷的功能。