50+ 个实用的 Docker 工具推荐

883 阅读8分钟
原文链接: www.oschina.net

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

Docker 工具分类列表

  • 编排和定时任务

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

  • 监控

  • 日志

  • 安全

  • 存储/卷管理

  • 网络

  • 服务发现

  • 编译

  • 管理

其它翻译版本(1)

编排和调度

1. Kubernetes

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

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

链接: kubernetes.io

费用:免费

2. Docker Swarm

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

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

链接: www.docker.com

成本: 社区版免费

3. Mesosphere DC/OS

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

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

链接: dcos.io/

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

4. Amazon ECS

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

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

链接: aws.amazon.com/ecs/

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

5、Azure Container Service(AKS)

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

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

链接:azure.microsoft.com/en-us/servi…

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

6、Google Container Engine(GKE)

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

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

链接:cloud.google.com/container-e…

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

7. Cloud Foundry's Diego

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

链接: docs.cloudfoundry.org/concepts/di…

费用: 免费

8. Marathon

Marathon 是一个建立在 Apache Mesos 上的私有生产级平台即服务(PaaS)。 Marathon 框架有望扩展 Docker 化应用程序,并在必要时扩展到更多节点以增加可用的资源池。它也可以作为一个容器编排工具来为容器化工作负载提供故障恢复。Marathon 自动处理硬件或软件故障,并确保应用程序“始终在线”。

链接: mesosphere.github.io/marathon/

费用: 免费

9. HashiCorp Nomad


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

链接:www.nomadproject.io/

费用:免费

10. Helios

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

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

链接:github.com/spotify/hel…

费用:免费

11. Rancher

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

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

链接:rancher.com/

是否收费:免费

12. Nebula

Nebula 是为 Docker 的编排而生的全新的开源项目,它被设计用来管理大量规模化集群场景。这个工具是通过根据需要横向扩展项目组件来达到这一目标。项目目标是要实现对物联网设备的 Docker 编排,就像对 CDN 或者边缘计算等分布式服务的编排一样好。Nebula 能够通过调用一个 API 实现同时对上万个遍布全球的物联网设备的更新。Bebula 目标是要帮助开发人员和运维人员能够简化处理物联网设备,就像处理分布式 Docker 容器化应用那样。

链接:nebula.readthedocs.io/en/latest/

是否收费:免费

持续集成/持续部署 (CI/CD)

13. Jenkins

Jenkins 是领先的CI工具,使开发和运营团队能够完成应用程序的自动化构建和测试周期。因此,它已经成为与 DevOps 同义的工具。Jenkins 是一个独立的基于 Java 的程序,开箱即用,提供了数百个插件,可以与栈中的其他工具集成。该工具使你能够快速配置构建代理,部署工件,然后快速拆除。

费用: 免费

14. CircleCI

CircleCI 致力于帮助软件团队专注于为客户提供价值,而不是维护 CI 基础架构。 CircleCI 通过使 CI 过程更快、更简单来提高 IT 团队的工作效率。它支持快速集成并允许你在注册后立即构建和部署。通过 SSH 进行手动调试,并在开始项目之后立即动态自适应容器的数量。

链接:circleci.com/

费用: 第一个容器是免费的;开源项目免费数目+3;额外的容器需要每个容器每月 50 美元

15. Travis CI

Travis CI 是一个免费的开源 CI 项目,通过自动构建和测试代码更改来提高开发过程的效率。软件即服务(Saas)平台随即能够对代码更改的成功提供即时反馈。 Travis CI 还能够通过管理部署和通知来自动化开发过程的其他部分。

链接: travis-ci.org/

费用: 免费

16. CodeShip

CodeShip 是一个完全可定制的 CI 平台,通过与已建立的 Docker 工作流程协作,为 Docker 提供本地支持。该平台致力于提高速度和安全性,其工作原理基于自动化测试和部署任务,提供完整的构建环境控制。它提供了对许多其他云平台和编排工具的支持。

链接:codeship.com/

费用:

  • 基础版: 每月免费构建100次,费用从每月$49起

  • 专业版: 每月$75起

17. GitLab CI

GitLab 整合了 CI、CD 和代码审查来处理整个应用程序的生命周期。它与 Docker Engine 上的 GitLab runner 结合使用,以支持应用程序的自动化测试和构建。其他功能还包括活动流、IDE、问题跟踪和存储库管理。GitLab CI 还有一个内置的容器注册表来扫描和存储 Docker 存储库。

链接: about.gitlab.com/features/gi…

费用:

  • 社区版:免费,不限用户数

  • 企业初级版: 每用户每月$3.25

  • 企业旗舰版: 每用户每月$16.59

18. Shippable

使用 Shippable 加快软件交付; 作为开发人员提供的 SaaS 平台,它大大缩短了构建、测试和部署代码到生产所需的时间。Shippable 被设计成一个一站式的自动化平台,通过提供完整的工作流可视性实现了 DevOps 的实践和优化创新。简单的即插即用接口意味着可以与许多其他应用程序框架和技术栈轻松集成。

链接: www.shippable.com/

费用:

  • 免费: c4.large节点,无构建次数限制,1个并发作业

  • 每月$25/75/150: c4 large/xlarge/2xlarge节点,每个并发作业

  • 企业级插件支持: 每月$500起