容器生态系统比以往任何时候都发展更快,拓展更迅速,与此同时,还出现了很多 Docker 工具和服务,仅仅是理解现有的这些选项,都是一项令人畏惧的任务。不管你是初学者还是专家,是开发者还是持续集成工程师,SRE 还是平台架构师,这份列表都将是你的指南,帮助你理解最受欢迎的产品,并在每一个相应开发阶段优化对接 Docker。

Docker 工具分类列表

 

编排和定时任务

 

持续集成/持续开发 (CI/CD)

 

监控

 

日志

 

安全

 

存储/卷管理

 

网络

 

服务发现

 

编译

 

管理

 

 

1

编排和调度

 



1. Kubernetes

 

docker 公匙_运维

 

Kubernetes 是目前市场上可用的容器编排引擎中最受欢迎的一个。最初开始于一个谷歌项目,然后有上千团队用它在生产环境上部署容器。谷歌宣称每周使用 Kubernetes 运行数十亿的容器。

 

该工具的工作原理是,把构成应用的容器分组为更容易管理和发现的逻辑单元。

 

链接: https://kubernetes.io

费用:免费

 



2. Docker Swarm

 

docker 公匙_docker 公匙_02

 

Swarm 是 Docker 提供的关于在很多服务器上如何编排和调度容器问题的一个解决方案。Swarm 被包含在 1.12.0 版本之后的 Docker Engine 中,提供一些高级特性,例如:服务发现,负载均衡,伸缩能力和安全性。

 

Swarm 将继续 Docker 的传统:关注简单化和开发者体验。可以说,它比 Kubernetes 更容易使用。

 

链接: https://www.docker.com

成本: 社区版免费

 



3. Mesosphere DC/OS

 

docker 公匙_docker 公匙_03

 

Mesosphere 数据中心操作系统(DC/OS)是一个集成化的开源平台,用于在 Apache Mesos 分布式系统内核上构建数据和容器。它将一个数据中心的多个机器,当做一个或多个集群,无论是在云端还是使用预置软件。DC/OS 能够在同一个环境中部署容器并管理无状态应用和有状态负载。

 

可以与 Docker Swarm 和 Kubernetes 配合工作。

 

链接: https://dcos.io/

费用: Mesosphere DC/OS订购包是根据在你环境中使用的节点数量(物理节点或者虚拟节点)来收费。

 



4. Amazon ECS

 

docker 公匙_docker 公匙_04

 

作为亚马逊 web 服务的容器编排解决方案,Amazon ECS 是一个高度可扩展的管理服务,它允许开发者在 EC2 实例上运行容器化应用。它由多个内置组件构成,支持对 Docker 集群、任务和服务的简单的调度和部署。

 

虽然不支持在 EC2 之外运行容器,但是它也包括了 AWS 服务的优点,例如:CloudTrail、CloudWatch、Elastic Load Balancers 等等。

 

链接: https://aws.amazon.com/ecs/

费用: Amazon ECS 没有额外费用。 你只需要购买存储和运行你的应用所需的 AWS 资源,例如:EC2 实例,EBS 卷。

 



5、Azure Container Service(AKS)

 

一种专门用在 Azure 虚拟机上的管理服务(开源),提供必要的工具去创建、配置和管理基于 Docker 容器的基础设施。ACS 简化了基于容器的开发和支持 K8S,Mesospere DC/OS 或 Swarm 的部署。

 

使用应用管理工具去管理和编排,使用标准化的 API 接入。

 

链接:https://azure.microsoft.com/en-us/services/container-service/

费用:只为使用的虚拟机及相关的存储和网络资源付费



6、Google Container Engine(GKE)

 

基于 K8S 的 GKE 可以部署,管理及伸缩运行在谷歌云上的容器化应用。GKE 的目标是通过提升容器的管理能力去优化IT团队的生产力。GKS 通过良好的用户体验和直观的命令行工具隐去众多简单或者复杂的管理任务。

 

GKS 基 于K8S。使用 GKE,无需学习 K8S, 理解 K8S 的基本概念,将有助于 GKE 的使用。

 

链接:https://cloud.google.com/container-engine/

费用:0-5 个节点免费,6 个节点以上,0.15 美元/小时/集群(109.50 美元/月/集群)

 



7. Cloud Foundry's Diego

 

docker 公匙_嵌入式_05

 

Cloud Foundry 使用其 Diego 架构来管理“garden”环境中的应用程序容器。Garden 遵循 Linux 的 Open Container Initiative 容器托管指南,并通过 Diego 的其他组件分离。Diego 元素通过云控制器提供应用程序调度和管理功能。

 

链接: https://docs.cloudfoundry.org/concepts/diego

费用: 免费

 



8. Marathon

 

docker 公匙_运维_06

 

Marathon 是一个建立在 Apache Mesos 上的私有生产级平台即服务(PaaS)。 

 

Marathon 框架有望扩展 Docker 化应用程序,并在必要时扩展到更多节点以增加可用的资源池。它也可以作为一个容器编排工具来为容器化工作负载提供故障恢复。Marathon 自动处理硬件或软件故障,并确保应用程序“始终在线”。

 

链接: https://mesosphere.github.io/marathon/

费用: 免费

 



9. HashiCorp Nomad

 

docker 公匙_python_07

Nomad 是一款能够调度所有虚拟化,容器化和独立应用程序的独立二进制工具,支持 Linux、Mac 和 Windows 。 从单个容器到数千个群体,Nomad 允许你几分钟内在5000台主机上运行100万个容器。 Nomad 通过在更少的服务器资源上进行有效地分配,来帮助更多的应用程序提供利用率,同时降低成本。

 

链接:https://www.nomadproject.io/

费用:免费

 



10. Helios

 

Helios 起初作为 Spotify 的内部工具,可确保数百个微服务器在数千台服务器上高效工作。 它能够大规模部署和管理容器,并且配备了基于 HTTP 的 API 以及命令行客户端。

 

Helios 不需要特定的网络拓扑; 它只需要一个 ZooKeeper 集群和一个运行该工具的机器上的 JVM 。 它是一个很有用的开源项目。

链接:https://github.com/spotify/helios
费用:免费

 



11. Rancher

 

docker 公匙_嵌入式_08

 

Rancher 不仅仅是容器编排工具,它还是一个完整的满足在生产环境运维 Docker 的容器管理平台。

 

RancherOS 是一个基于容器的操作系统,它能提供很多基础设施服务,例如:全局和本地的负载均衡,多主机网络,磁盘卷快照等等。Rancher 也集成了原生的 Docker 管理能力,例如:Docker Machine 和 Swarm 。

 

链接:http://rancher.com/

是否收费:免费

 



12. Nebula

 

Nebula 是为 Docker 的编排而生的全新的开源项目,它被设计用来管理大量规模化集群场景。这个工具是通过根据需要横向扩展项目组件来达到这一目标。项目目标是要实现对物联网设备的 Docker 编排,就像对 CDN 或者边缘计算等分布式服务的编排一样好。

 

Nebula 能够通过调用一个 API 实现同时对上万个遍布全球的物联网设备的更新。Bebula 目标是要帮助开发人员和运维人员能够简化处理物联网设备,就像处理分布式 Docker 容器化应用那样。