如今,整个容器生态系统的发展和扩展速度比以往任何时候都快,面对众多 Docker 工具和服务,光是了解可用选项就需要花费大量时间。本文总结了易用的 50 多种 Docker 工具,适合初学者、研发人员、DevOps 工程师、SRE 和平台架构师。
编排和调度工具
1、Kubernetes
Kubernetes 是市场上现有最受欢迎的容器编排引擎。最初由谷歌研发,目前已被数千个团队在生产中部署使用。谷歌声称每周使用 Kubernetes 运行数十亿个容器。该工具的工作原理是将构成应用程序的容器分组为逻辑单元以便管理。
链接: https://kubernetes.io
成本:免费
2. Docker Swarm
Swarm 是 Docker 对开发人员如何跨多个服务器编排和调度容器问题的回答。Swarm 已经从版本 1.12.0 开始包含在 Docker Engine 中,并提供了诸如 baked-in 服务发现,负载平衡,扩展和安全等高级功能。
Swarm 延续了 Docker 关注简单和开发人员体验的传统,可以说比开箱即用的 Kubernetes 更容易使用。
成本: 免费社区版本
3. Mesosphere DC/OS
Mesosphere Datacenter Operating System(DC/OS)是一个集成的开源平台,用于构建在 Apache Mesos 分布式系统内核上运行的数据和容器,旨在将数据中心内的多台计算机视为云中的一个或多个集群,或使用内部部署。DC/OS 可以在同一环境中部署容器并管理无状态应用程序和有状态工作负载,适用于 Docker Swarm 和 Kubernetes。
链接: https://dcos.io/
成本:Mesosphere DC/OS 订阅包基于环境中的节点数(物理或虚拟)付费。
4. Amazon ECS
Amazon Web Services 主要为了解决容器编排问题,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)
前不久,该服务从 ACS 变为 AKS,这是一种开源管理服务,针对 Azure 虚拟机进行优化。AKS 提供创建、配置和管理开放式 Docker 容器所需的工具。AKS 提供简化的基于容器的应用程序开发和部署,支持运行 Kubernetes、Mesospere DC/OS 或 Swarm。
链接:
https://azure.microsoft.com/en-us/services/container-service/
成本:仅支付虚拟机以及使用的相关存储和网络资源。
6. Google Container Engine (GKE)
在 Kubernetes 的支持下,GKE 可以在 Google Cloud 上部署、管理和扩展容器化应用程序。GKE 的目标是通过管理基于容器的工作负载来优化 IT 团队工作效率,将复杂的逻辑隐藏在简单的用户体验和命令行工具背后。
Kubernetes 是 GKE 的支柱。虽然不需要学习它来使用 GKE,但如果了解基础知识会有所帮助。
链接: https://cloud.google.com/container-engine/
成本:每个集群可免费获得 0-5 个节点,6 个以上节点大概 0.15 美元 / 小时(109.50 美元 / 月)
7. Cloud Foundry’s Diego
Cloud Foundry 使用其 Diego 架构管理环境中的应用程序容器。 Garden 遵循 Linux 的 Open Container Initiative 主机容器指南,并通过 Diego 的其他组件进行抽象,Diego 元素通过 Cloud Controller 提供应用程序调度和管理功能。
链接: https://docs.cloudfoundry.org/concepts/diego
成本: 免费
8. Marathon
Marathon 是基于 Apache Mesos 构建的 PaaS 服务。Marathon 框架承诺扩展 Dockerized 应用程序,并在必要时扩展到更多节点以增加可用资源池。此外,Marathon 可以充当容器编排工具,为容器化工作负载提供故障恢复。Marathon 自动处理硬件或软件故障,并确保应用程序“始终开启”。
链接: https://mesosphere.github.io/marathon/
成本: 免费
9. HashiCorp Nomad
在 Linux、Mac 和 Windows 的支持下,Nomad 是一个单一的二进制工具,能够安排所有虚拟化、容器化和独立的应用程序。从单个到数千容器,Nomad 允许几分钟内在 5,000 个主机上运行 100 万个容器。 Nomad 通过在更少的服务器上有效分配更多应用程序来降低成本。
链接: https://www.nomadproject.io/
成本: 免费
10. Helios
Helios 最初是 Spotify 的内部工具,用于确保数百个微服务在数千台服务器上有效工作。它能够大规模部署和管理容器,并配备基于 HTTP 的 API 以及命令行客户端。
Helios 不需要特定网络拓扑,只需要运行机器上使用 ZooKeeper 集群和 JVM 即可。
链接: https://github.com/spotify/helios
成本: 免费
11. Rancher
Rancher 不仅是容器协调器,也是一个完整的容器管理平台,用于在生产中运行 Docker。RancherOS 是一种基于容器的操作系统(OS),能够提供许多基础架构服务,例如全局和本地负载平衡、多主机网络和卷快照。 Rancher 集成了 Docker Machine 和 Swarm 等本地 Docker 管理功能。
链接:http://rancher.com/
成本:免费
12. Nebula
Nebula 是一个为 Docker 编排创建的新开源项目,旨在管理大规模集群。该工具通过缩小每个项目的组件来实现此目的,目标是充当物联网设备的 Docker 协调器以及 CDN 或边缘计算等分布式服务。 Nebula 能够通过单个 API 调用同时更新全球数以万计的物联网设备。Nebula 旨在帮助开发者像分布式 Dockerized 应用程序一样对待物联网设备。
链接:http://nebula.readthedocs.io/en/latest/
成本: 免费
持续集成 / 持续部署(CI / CD)
13. Jenkins
Jenkins 让开发和运营团队能够自动化应用程序的构建和测试周期。 因此,它已成为 DevOps 工具的代名词。Jenkins 是一个独立的基于 Java 的程序,开箱即用,提供数百个插件,旨在与堆栈中的其他工具集成。该工具能够快速配置构建代理,部署组件并快速拆除。
成本: 免费
14. CircleCI
CircleCI 承诺帮助软件团队专注于为客户提供价值,而不是维护 CI 基础架构。CircleCI 使 CI 过程更快捷、简单,从而提高 IT 团队的工作效率。它可以快速集成,并允许在注册后立即构建和部署。通过 SSH 手动调试可同时动态缩放容器数量。
链接:https://circleci.com/
成本:第一个容器是免费的 ; 开源项目可在额外享用 3 个免费名额 ; 其余每月 50 美元(每个容器)
15. Travis CI
作为一个免费的开源 CI 项目,Travis CI 通过自动构建和测试代码更改来提高开发过程效率。然后,软件即服务(Saas)平台能够提供有关代码更改成功的即时反馈。Travis CI 还可通过管理部署和通知来自动化开发过程的其他部分。
链接: https://travis-ci.org/
成本: 免费
16. CodeShip
CodeShip 是一个完全可定制的 CI 平台,通过与已建立的 Docker 工作流程一起提供本地支持。该平台致力于提高速度和安全性,并通过自动化测试和部署任务来完成工作,使用户可以完全控制构建环境。 此外,它也为许多云平台和编排工具提供支持。
链接: https://codeship.com/
成本:
Basic:免费提供 100 个构建 / 月,定价每月 49 美元起
Pro:起价为每月 75 美元
17. GitLab CI
GitLab 结合了 CI、CD 和代码审查功能以处理整个应用程序生命周期。 它与 Docker Engine 上的 GitLab runner 一起使用,以实现自动化测试和应用程序构建。其他功能包括活动流、IDE、问题跟踪和存储库管理。GitLab CI 还有内置的容器注册表来扫描和存储 Docker 库。
链接: https://about.gitlab.com/features/gitlab-ci-cd/
成本:
社区版:免费,无限制用户
Enterprise Edition Starter:3.25 美元 / 用户 / 月
Enterprise Edition Premium:16.59 美元 / 用户 / 月
18. Shippable
Shippable 是一个面向开发人员的 SaaS 平台,可显著减少构建、测试和部署代码到生产所需的时间。Shippable 旨在成为一站式自动化平台,通过提供完整的工作流程实现 DevOps 并优化创新。简单的即插即用界面意味着 Shippable 可以轻松地与许多应用程序架构和技术堆栈集成。
成本:
免费版:c4.large 节点,无限制构建,1 个并发作业
25/75/150 美元 / 月:c4 large / xlarge / 2xlarge 节点,每个一个并发作业
企业支持附加组件:每月 500 美元起
19. CodeFresh
CodeFresh 提供了一个完整的工具链,开发人员可以使用该工具链创建和自动化交付管道。这些 Docker 原生 CI / CD 管道构建于 Kubernetes 之上,可通过缓存提供快速有效的资源管理。CodeFresh 将企业注册表与 Kubernetes 的无缝连接和部署相结合。
链接: https://codefresh.io/
成本:
免费(仅限公共 repos)
Basic:每月 99 美元(公共和私人 repos)
Pro:每月 299 美元,带 SSH 的专用节点
20. Buddy
Buddy 可立即构建、测试和部署应用程序,是一个 CI/CD 和用户反馈平台,具有友好的用户界面,可使持续部署更高效,支持所有主流语言和框架,包括 Angular,Ruby,Python,PHP / Laravel,Node.js 和.NETCore。
链接: https://buddy.works/
成本:
Freelancer:每月 49 美元
Team:每月 99 美元
Software House:每月 199 美元
Mega:每月 299 美元
21. Drone
作为开源 CI 和部署即服务平台,Drone 基于使用 Go 和 Docker 的容器技术构建。该平台无需安装,配置或服务器维护,并且可与 BitBucket,Heroku,GitHub 等无缝集成,以使用 Docker 容器自动执行代码构建,测试和部署。
链接: https://drone.io/
成本:
Nano: 每月 125 美元
Micro: 每月 250 美元
Mega: 每月 500 美元
22. Wercker
Docker 原生 CI 和 CD 自动化平台,旨在帮助软件开发人员构建部署应用程序和复杂微服务架构。Wercker 与 Kubernetes 本地集成,可自动完成部署工作流程,因此用户可专注构建应用程序。
链接: http://www.wercker.com/
成本:
社区版本: 免费 ;
虚拟专用版本: 每月 350 美元起
23. Sumo Logic
Sumo Logic 是一种云原生日志审查工具,可提供高级分析、可视化和告警功能。监控告警解决方案提供实时安全性和操作信息,并允许诊断和排除所有应用程序和基础架构问题。机器学习分析意味着在威胁和异常成为问题并影响最终用户之前可快速发现和预测。
链接:https://www.sumologic.com/
成本:
免费:最高 500MB / 天
Professional:日志和指标:每月 90 美元,1GB / 天
Enterprise:日志和指标:每月 150 美元,1GB / 天
24. Prometheus
Prometheus 由 SoundCloud 开发,是一个开源系统监控和警报工具包,结合了监控的许多方面,例如度量生成和收集,结果可视化以及异常发生时警报等功能。Prometheus 擅长记录数字时间序列,并补充以机器为中心的监控以及高度动态的面向服务架构。
链接: https://prometheus.io/
成本: 免费
25. Sysdig
Sysdig 开源版本是所有 Sysdig 产品的核心技术。 开源工具旨在提供单个主机的详细故障排除,并提供基于命令行的界面。
链接:https://www.sysdig.org/
成本:
开源:免费
Basic:每月 20 美元
ProCloud:每月 30 美元
Pro 软件:暂不确定
26. Sysdig Monitor
Sysdig Monitor(正式名称为 Sysdig Cloud)是 Sysdig 的商业解决方案,用于生成和分析系统级信息和实时数据。作为 Linux 系统的故障排除工具,它提供了容器可视性,使其在 Docker 环境中非常有用。
链接:https://sysdig.com/product/how-it-works/
成本:云和软件版本灵活定价
27. Datadog
Datadog 是一个基于 SaaS 的数据分析平台,适用于大规模云环境,可从服务器,数据库和应用程序生成和收集指标或者数据事件。全栈监控服务为 Docker,Kubernetes 和 Mesos 提供支持。
链接:https://www.datadoghq.com/
成本:
免费:最多 5 台主机
Pro:15 美元 / 主机 / 月
Enterprise:23 美元 / 主机 / 月
28. New Relic
New Relic 是一种纯粹的基于 SaaS 的性能管理解决方案,允许开发人员实时诊断和修复应用程序性能问题。其应用程序性能监视(APM)功能提供即时可见性,其基础结构中的 Linux 代理程序自动收集在已检测主机上运行的 Docker 容器指标。
链接:https://newrelic.com/
成本:
自托管环境:每月 149 美元 ; Essentials:每月 75 美元
基于云的选项:取决于程序的实例大小,运行时和数量
29. cAdvisor
Google 的 cAdvisor(Container Advisor)是一种监控解决方案,可分析 Docker 中运行容器的所有性能特征和资源使用情况。该工具生成并收集容器指标,例如网络统计信息,资源隔离参数以及资源使用的完整历史记录。
链接:https://github.com/google/cadvisor
成本:免费
记录工具
30. Logspout
Logspout 可帮助管理在 Docker 容器中运行的程序生成日志。它将容器应用程序日志路由到单个位置(例如,通过 HTTP 可用于 JSON 对象或流式端点)。Logspout 还有一个可扩展的模块系统。
链接:https://github.com/gliderlabs/logspout
成本:免费
31. Fluentd
Fluentd 作为一个开源数据收集器,可用于统一记录所有容器日志。 内含 500 多个插件,Fluentd 可连接许多数据源和数据输出以收集事件。
链接:https://www.fluentd.org/
成本:免费
32. Logstash
作为弹性堆栈的一部分,Logstash 可与 Beats,Elasticsearch 和 Kibana 一起良好运行。它是一个开源服务器端处理管道,用于传输和处理日志、事件或其他数据。
链接: https://www.elastic.co/products/logstash
成本: 免费
33. syslog-ng
syslog-ng 可从各种源收集日志,并在将它们路由到不同目的地之前近乎实时地处理它们。
链接:https://syslog-ng.org/
成本:免费(可根据要求提供 syslog-ng Premium Edition 的定价)
安全
34. Clair
Clair 是一个开源项目,旨在识别和分析 Docker 和 appc 应用程序容器中的漏洞。 Clair 定期从定制和配置的源组中提取容器漏洞元数据,以识别容器映像威胁,包括上游威胁。
链接: https://coreos.com/clair/docs/latest/
成本: 免费
35. Aqua Security
Aqua Security 可在任何平台上运行,通过提供全栈安全性来保护基于容器的应用程序。Aqua Security 是一个专用平台,可从开发伊始严格控制容器环境和流程。它是一个全面的工具,提供全面可见性和管理。
链接: https://www.aquasec.com/
成本:定价包括所选软件成本和必要的虚拟机等基础架构成本的组合
36. Twistlock
Twistlock Security Suite 旨在解决基于容器的应用程序安全问题。 它是一种端到端安全解决方案,通过监控 Docker 容器工作方式来检测漏洞。Twistlock 可加强容器映像,并在应用程序的生命周期内实施安全策略。
链接:https://www.twistlock.com/
成本:定价包括软件和基础架构成本
37. Docker Bench for Security
Docker Bench for Security 是一个预构建的打包容器,可以在任何 Docker 主机上运行。它是一组 Bash shell 脚本,应该以 root 用户身份运行。
链接: https://hub.docker.com/r/docker/docker-bench-security/
成本: 免费
38. Docker Notary
Notary 是一个开源 Docker 项目,为数据集合提供安全性,运行服务以发布和管理任意内容。对已发布的集合进行数字签名,并允许用户验证内容的完整性和来源。
链接: https://github.com/docker/notary
成本: 免费
存储 / 卷管理工具
39. Convoy
Rancher 创建的 Docker 卷插件,用于管理持久性容器卷。Convoy 是开源 Docker 卷驱动程序,可在任何地方对 Docker 卷进行快照、备份和恢复。在 AWS 上创建 Docker 卷,受 Elastic Block Store 的所有功能和性能支持。此外,可获取现有 EBS 卷并使用其生成附加到 Docker 容器的卷。
链接: https://github.com/rancher/convoy
成本: 免费
40. Portworx
Portworx 是一种用于持久、共享和复制卷的分散式存储解决方案,可以大规模自动化数据服务的部署和运营。
链接: https://portworx.com/
成本: 免费
41. Blockbridge
Blockbridge Volume Plugin 为容器应用程序提供高性能存储,具有高级安全性,移动性,备份和还原功能。通过 Docker 1.13+ 的“托管 Docker 插件”,Docker 本身可以完成安装和生命周期管理。
链接: http://www.blockbridge.com/
成本: 免费
网络
42. flannel
flannel 是专为 Kubernetes 设计的一种通过在集群多个节点间使用第 3 层 IPv4 网络来配置安全网络结构的简单方法。它不控制容器与主机平台联网方式的影响,只控制如何在主机之间传输流量。
链接: https://coreos.com/flannel/docs/latest/
成本: 免费
43. Weaveworks
Weaveworks 为开发人员提供了一种连接、观察和控制 Docker 容器的高效方法。它创建了一个灵活的虚拟网络基础架构,可连接跨多个主机部署的容器。Weaveworks 扩展了容器协调器(如 Kubernetes 和 Docker Swarm)的效率,简化了生产中容器的管理。
链接:https://www.weave.works/
成本:
标准:每个节点每月 30 美元或每年 300 美元
企业:每个节点每月 150 美元或每年 1500 美元
44. Project Calico
作为一个高度可扩展的开源项目,Calico 为虚拟网络提供了第 3 层方法,可以支持无数计算主机上的大量虚拟机集群。该工具的简化网络模型设计支持为每个工作负载配置细粒度连接策略,并允许集中管理 SDN。
链接: https://www.projectcalico.org/getting-started/docker/
成本: 免费
服务相关工具
45. Consul
Consul 是一种易于使用,基于开放标准的服务发现方法,可在 FreeBSD,Linux,Mac OS X,Solaris 和 Windows 上运行。Consul 具有多数据中心感知功能,可为多个区域提供支持,无需复杂配置。 主要功能包括:服务发现,健康检查和键 / 值存储等。
链接: https://www.consul.io/
成本: 免费
46. Etcd
etcd 由 CoreOS 创建,是一个高度可用的键值存储,专为共享配置和服务发现而设计。该工具提供了一种在一组机器上存储数据的可靠方法。它专为运行 CoreOS 集群而构建,但 etcd 也适用于其他操作系统,包括 BSD,Linux 和 OS X.
链接: https://coreos.com/etcd/
成本: 免费
47. Proxy
Factorish 创建了一个简单易用的轻量级(<30mb)容器代理。该工具基于 alpine/gliderlabs,nginx 作为 HTTP 负载均衡器运行。
链接: https://hub.docker.com/r/factorish/proxy/
成本: 免费
构建
48. Packer
Packer 是一个 Hashicorp 工具,用于构建机器映像(包括 Docker),并与 Ansible,Chef 和 Puppet 等配置管理工具集成。它是一个轻量级工具,可以从单一源配置在每个主要操作系统上运行。
链接: https://www.packer.io/docs/builders/docker.html
成本: 免费
49. Whales
使用 Whales 自动将应用程序停靠。 唯一需要的是在主机上安装并运行 Docker。然后,Whales 通过输出必要的文件来运行 Docker 的应用程序。
成本: 免费
50. Gradle
Gradle 插件使所有构建脚本都可与 Docker 守护程序进行通信。 每个任务都委托给 Docker 客户端,然后通过 HTTP 连接到 Docker 的远程 API,大多数配置参数是可选的。
成本: 免费
管理工具
51. Portainer
Portainer 是 Docker 环境的开源轻量级管理用户界面。 Portainer 在 Docker API 之上工作,并提供 Docker 的详细概述。 功能包括管理容器,图像,网络和卷的功能。