-
docker machine
-
主要用于准备docker host
-
现已弃用
-
建议使用docker desktop
-
-
docker compose
-
Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。
-
使用 Compose,您可以使用 YAML 文件来配置应用程序的服务。
-
使用一个命令,您可以从您的配置中创建并启动所有服务。
-
-
docker swarm
-
内置于docker引擎中
-
对docker引擎进行集群级别的管理
-
-
分布式设计,可以让集群资源更多,管理更多的主机
-
声明式服务模型,通过YAML文件定义应用程序服务所需状态
-
服务规模可扩大可缩小,保持用户期望状态
-
服务发现
-
负载均衡
-
滚动更新等
-
docker service
-
docker stack
-
-
kubernetes
-
Kubernetes作为一个容器集群管理系统,用于管理容器云平台中多个主机上的容器应用,Kubernetes的目标是让部署容器化的应用变得简单且高效,所以 Kubernetes 提供了应用部署,规划,更新,维护的一整套完整的机制。
-
Kubernetes没有固定要求容器的格式,但是Kubernetes使用它自己的API和命令行接口来进行容器编排。
-
除了Docker容器之外,Kubernetes还支持其他多种容器,如 Containerd、rkt、CoreOS 等。
-
Kubernetes 是自成体系的管理工具,可以实现容器调度,资源管理,服务发现,健康检查,自动伸缩,更新升级等,也可以在应用模版配置中指定副本数量,服务要求(IO 优先;性能优先等),资源使用区间,标签(Labels等)来匹配特定要求达到预期状态等,这些特征便足以征服开发者,再加上 Kubernetes 有一个非常活跃的社区。它为用户提供了更多的选择以方便用户扩展编排容器来满足他们的需求。但是由于 Kubernetes 使用了自己的 API 接口,所以命令系统是另外一套系统,这也是 kubernetes 应用门槛比较高的原因所在。
-
-
mesos+marathon
-
Apache Mesos 是一个分布式系统内核的开源集群管理器,Apache Mesos 的出现要远早于 Docker Swarm 和 Kubernetes。
-
其结合Marathon 这个基于容器的应用程序的编排框架,它为 Docker Swarm 和 Kubernetes 提供了一个有效的替代方案。
-
Mesos 能够在同样的集群机器上运行多种分布式系统类型,可以更加动态高效的共享资源。
-
Messos 也提供服务失败检查,服务发布,服务跟踪,服务监控,资源管理和资源共享。
-
Messos 可以扩展伸缩到数千个节点。
-
如果你拥有很多的服务器而且想构建一个大的集群的时候,Mesos 就派上用场了。
-
很多的现代化可扩展性的数据处理应用都可以在 Mesos 上运行,包括大数据框架 Hadoop、Kafka、Spark。
-
但是大而全,往往就是对应的复杂和困难,这一点体现在 Messos 上是完全正确,与Docker 和 Docker Swarm 使用同一种 API 不同的,Mesos 和 Marathon 都有自己的 API,这使得它们比其他编排系统更加的复杂。Apache Mesos 是混合环境的完美编配工具,由于它包含容器和非容器的应用,虽然 Messos 很稳定,但是它的使用户快速学习应用变得更加困难,这也是在应用和部署场景下难于推广的原因之一
-