容器生态系统比以往任什么时候候都发展更快,拓展更迅速,与此同时,还出现了不少 Docker 工具和服务,仅仅是理解现有的这些选项,都是一项使人畏惧的任务。无论你是初学者仍是专家,是开发者仍是持续集成工程师,SRE 仍是平台架构师,这份列表都将是你的指南,帮助你理解最受欢迎的产品,并在每个相应开发阶段优化对接 Docker。ios
Docker 工具分类列表git
编排和定时任务github
持续集成/持续开发 (CI/CD)web
监控docker
日志安全
安全服务器
存储/卷管理网络
网络架构
服务发现负载均衡
编译
管理
1
编排和调度
Kubernetes 是目前市场上可用的容器编排引擎中最受欢迎的一个。最初开始于一个谷歌项目,而后有上千团队用它在生产环境上部署容器。谷歌宣称每周使用 Kubernetes 运行数十亿的容器。
该工具的工做原理是,把构成应用的容器分组为更容易管理和发现的逻辑单元。
连接: https://kubernetes.io
费用:免费
Swarm 是 Docker 提供的关于在不少服务器上如何编排和调度容器问题的一个解决方案。Swarm 被包含在 1.12.0 版本以后的 Docker Engine 中,提供一些高级特性,例如:服务发现,负载均衡,伸缩能力和安全性。
Swarm 将继续 Docker 的传统:关注简单化和开发者体验。能够说,它比 Kubernetes 更容易使用。
连接: https://www.docker.com
成本: 社区版免费
Mesosphere 数据中心操做系统(DC/OS)是一个集成化的开源平台,用于在 Apache Mesos 分布式系统内核上构建数据和容器。它将一个数据中心的多个机器,当作一个或多个集群,不管是在云端仍是使用预置软件。DC/OS 可以在同一个环境中部署容器并管理无状态应用和有状态负载。
能够与 Docker Swarm 和 Kubernetes 配合工做。
连接: https://dcos.io/
费用: Mesosphere DC/OS订购包是根据在你环境中使用的节点数量(物理节点或者虚拟节点)来收费。
做为亚马逊 web 服务的容器编排解决方案,Amazon ECS 是一个高度可扩展的管理服务,它容许开发者在 EC2 实例上运行容器化应用。它由多个内置组件构成,支持对 Docker 集群、任务和服务的简单的调度和部署。
虽然不支持在 EC2 以外运行容器,可是它也包括了 AWS 服务的优势,例如:CloudTrail、CloudWatch、Elastic Load Balancers 等等。
连接: https://aws.amazon.com/ecs/
费用: Amazon ECS 没有额外费用。 你只须要购买存储和运行你的应用所需的 AWS 资源,例如:EC2 实例,EBS 卷。
一种专门用在 Azure 虚拟机上的管理服务(开源),提供必要的工具去建立、配置和管理基于 Docker 容器的基础设施。ACS 简化了基于容器的开发和支持 K8S,Mesospere DC/OS 或 Swarm 的部署。
使用应用管理工具去管理和编排,使用标准化的 API 接入。
连接:https://azure.microsoft.com/en-us/services/container-service/
费用:只为使用的虚拟机及相关的存储和网络资源付费
基于 K8S 的 GKE 能够部署,管理及伸缩运行在谷歌云上的容器化应用。GKE 的目标是经过提高容器的管理能力去优化IT团队的生产力。GKS 经过良好的用户体验和直观的命令行工具隐去众多简单或者复杂的管理任务。
GKS 基 于K8S。使用 GKE,无需学习 K8S, 理解 K8S 的基本概念,将有助于 GKE 的使用。
连接:https://cloud.google.com/container-engine/
费用:0-5 个节点免费,6 个节点以上,0.15 美圆/小时/集群(109.50 美圆/月/集群)
Cloud Foundry 使用其 Diego 架构来管理“garden”环境中的应用程序容器。Garden 遵循 Linux 的 Open Container Initiative 容器托管指南,并经过 Diego 的其余组件分离。Diego 元素经过云控制器提供应用程序调度和管理功能。
连接: https://docs.cloudfoundry.org/concepts/diego
费用: 免费
Marathon 是一个创建在 Apache Mesos 上的私有生产级平台即服务(PaaS)。
Marathon 框架有望扩展 Docker 化应用程序,并在必要时扩展到更多节点以增长可用的资源池。它也能够做为一个容器编排工具来为容器化工做负载提供故障恢复。Marathon 自动处理硬件或软件故障,并确保应用程序“始终在线”。
连接: https://mesosphere.github.io/marathon/
费用: 免费
Nomad 是一款可以调度全部虚拟化,容器化和独立应用程序的独立二进制工具,支持 Linux、Mac 和 Windows 。 从单个容器到数千个群体,Nomad 容许你几分钟内在5000台主机上运行100万个容器。 Nomad 经过在更少的服务器资源上进行有效地分配,来帮助更多的应用程序提供利用率,同时下降成本。
连接:https://www.nomadproject.io/
费用:免费
Helios 起初做为 Spotify 的内部工具,可确保数百个微服务器在数千台服务器上高效工做。 它可以大规模部署和管理容器,而且配备了基于 HTTP 的 API 以及命令行客户端。
Helios 不须要特定的网络拓扑; 它只须要一个 ZooKeeper 集群和一个运行该工具的机器上的 JVM 。 它是一个颇有用的开源项目。
连接:https://github.com/spotify/helios
费用:免费
Rancher 不只仅是容器编排工具,它仍是一个完整的知足在生产环境运维 Docker 的容器管理平台。
RancherOS 是一个基于容器的操做系统,它能提供不少基础设施服务,例如:全局和本地的负载均衡,多主机网络,磁盘卷快照等等。Rancher 也集成了原生的 Docker 管理能力,例如:Docker Machine 和 Swarm 。
连接:http://rancher.com/
是否收费:免费
Nebula 是为 Docker 的编排而生的全新的开源项目,它被设计用来管理大量规模化集群场景。这个工具是经过根据须要横向扩展项目组件来达到这一目标。项目目标是要实现对物联网设备的 Docker 编排,就像对 CDN 或者边缘计算等分布式服务的编排同样好。
Nebula 可以经过调用一个 API 实现同时对上万个遍及全球的物联网设备的更新。Bebula 目标是要帮助开发人员和运维人员可以简化处理物联网设备,就像处理分布式 Docker 容器化应用那样。
连接:http://nebula.readthedocs.io/en/latest/
是否收费:免费
连接:https://mp.weixin.qq.com/s/LbyYRffdIOHHChaQgyiVMA
https://mp.weixin.qq.com/s/hbdOdykuwgTcCgakerqewQ