容器生态系统正以前所未有的速度不断增长和扩大,并且拥有这么多的 Docker 工具和服务,仅仅了解这些工具有用的选项,你就会感受到任务的艰巨。无论你是初学者还是专家,开发人员或 DevOps 工程师,SRE 或平台架构师,下面的列表都将成为你了解当前业内最流行的产品的指南,也可以帮助你充分利用 Docker 来完善开发流程的每个阶段。
Docker 工具分类列表
编排和调度
持续集成/持续部署(CI / CD)
监控
日志
安全
存储/卷管理
网络
服务发现
构建
管理
编排和调度
1.Rancher
不仅仅是一个容器编排器,还是一个用于在生产环境中运行 Docker 的完整的容器管理平台。RancherOS 是一个基于容器的操作系统(OS),能够提供诸如全局和本地负载平衡,多主机联网以及卷快照等多种基础架构服务。Rancher 集成了本地 Docker 管理功能,如 Docker Machine 和 Swarm。
工具链接:http://rancher.com/
使用成本:免费
2.Kubernetes
Kubernetes 是市场上最实用的最受欢迎的容器编排引擎。最初作为一个 Google 项目开始,成千上万的团队使用它来部署生产中的容器。谷歌声称它每周使用 Kubernetes 运行数十亿个容器。
该工具通过将构成应用程序的容器分组为逻辑单元进行工作,以便于管理和发现。
使用成本:免费
3. Docker Swarm
Swarm 是 Docker 解决开发人员如何在许多服务器上编排和调度容器的问题的一种方式。从 1.12.0 版本开始,Swarm 已经被包含在 Docker Engine 中,并且提供了一些高级特性,例如服务发现,负载均衡,扩展和安全性。
Swarm 继续将关注简单性和开发者体验作为 Docker 传统。通常来说 Swarm 比 Kubernetes 更容易使用。
使用成本:社区版免费
4. Mesosphere DC/OS
Mesosphere 数据中心操作系统(DC / OS)是一个集成的开源平台,用于在 Apache Mesos 分布式系统内核上构建数据和容器。它旨在将数据中心内的多台机器视为一个或多个群集,无论是在云中还是使用内部部署软件。DC / OS 可以在相同的环境中部署容器并管理无状态应用程序和有状态工作负载。
适用于 Docker Swarm 和 Kubernetes。
工具链接:https://dcos.io/
使用成本:Mesosphere DC / OS 的包月套餐基于你环境中的节点(物理或虚拟)的数量收费。
5. 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 卷)。
6. Azure Container Service(ACS)
经过优化的开源管理服务可在 Azure 虚拟机上使用,Azure 容器服务提供了创建,配置和管理开放式 Docker 容器基础架构的必要工具。它提供简化的基于容器的应用程序开发和部署,支持 Kubernetes,Mesospere DC / OS 或 Swarm 编排。
使用你选择的应用程序管理工具进行规模化编排,并通过标准 API 端点进行连接。
工具链接:https://azure.microsoft.com/en-us/services/container-service/
使用成本:仅需支付虚拟机以及使用的相关存储和网络资源。
7. Google Container Engine(GKE)
GKE 由 Kubernetes 提供支持,可以在 Google Cloud 上部署,管理和扩展容器化应用程序。GKE 的目标是通过改进对基于容器的工作负载的管理来优化 IT 团队的生产力。它隐藏了复杂和单调的管理任务,留给你的只有简单的用户体验和简单的命令行工具。
Kubernetes 是 GKE 的骨干。虽然你不需要学习使用 GKE,但是如果你了解其基础知识,则会对你的使用有所帮助。
工具链接:https://cloud.google.com/container-engine/
使用成本:0-5 节点免费,6 节点以上=$
0.15 /小时($
109.50 /月)
8. Cloud Foundry’s Diego
Cloud Foundry 使用 Diego 架构来管理“garden”环境中的应用程序容器。Garden 遵循 Linux 的 Open Container Initiative 容器托管指南,并通过 Diego 的其他组件提取。Diego 元素通过云控制器提供应用程序调度和管理功能。
工具链接:https://docs.cloudfoundry.org/concepts/diego
使用成本:免费
9. Marathon
Marathon 是一个建立在 Apache Mesos 上的私有生产级平台即服务(PaaS)。Marathon 框架有望扩展 Docker 化应用程序,并在必要时扩展到更多节点以增加可用资源池。它也可以充当容器编排工具,为容器化工作负载提供故障恢复。Marathon 自动处理硬件或软件故障,并确保应用程序“始终在线”。
工具链接:https://mesosphere.github.io/marathon/
使用成本:免费
10. HashiCorp Nomad
在 Linux,Mac 和 Windows 的支持下,Nomad 是一款能够调度所有虚拟化,容器化和独立应用程序的单一二进制工具。从单个容器到数千个群体,Nomad 允许你在几分钟内在 5,000 台主机上运行 100 万个容器。Nomad 通过在更少的服务器上有效地分配更多的应用程序来帮助提高密度,同时降低成本。
工具链接:https://www.nomadproject.io/
使用成本:免费
11. Helios
Helios 开始成为 Spotify 的内部工具,可确保数百个微服务器在数千台服务器上高效工作。它能够大规模部署和管理容器,并且配备了基于 HTTP 的 API 以及命令行客户端。
Helios 不需要特定的网络拓扑; 它只需要一个 ZooKeeper 集群和一个运行该工具的机器上的 JVM。它可以作为一个开源项目。
工具链接:https://github.com/spotify/helios
使用成本:免费
12. Nebula
星云(Nebula)是为 Docker 编排而创建的一个新的开源项目,旨在管理大规模集群。该工具通过按需要缩放每个项目组件来实现此目的。该项目的目标是充当物联网设备的 Docker Orchestrator,以及 CDN 或边缘计算等分布式服务。星云能够通过一个 API 调用同时更新全球数以万计的物联网设备。星云旨在帮助开发人员和操作人员处理物联网设备,就像分布式 Docker 化应用程序一样。
工具链接:http://nebula.readthedocs.io/en/latest/
使用成本:免费
持续集成/持续部署(CI / CD)
13. Jenkins
Jenkins 是领先的 CI 工具,使开发和运营团队能够周期性的自动构建和测试应用程序。因此,它已经成为与 DevOps 齐名的工具。Jenkins 是一个独立的基于 Java 的程序,开箱即用,提供了数百个插件,可以与堆栈中的其他工具集成。该工具使你能够快速配置构建代理,部署工件,然后快速拆除。
使用成本:免费
14. CircleCI
CircleCI 承诺帮助软件团队专注于为客户提供价值,而不是维护 CI 基础架构。CircleCI 通过使 CI 过程更快,更简单,提高了 IT 团队的工作效率。它快速集成并允许你在注册后立即构建和部署。通过 SSH 进行手动调试,并在开始项目时同时动态缩放容器的数量。
使用成本:第一个容器是免费的; 开源项目+3 免费;额外的容器 $ 50 /月(每个容器)
15. Travis CI
Travis CI 是一个免费的开源 CI 项目,通过自动构建和测试代码更改来提高开发的效率。软件即服务(Saas)平台随即能够对代码更改的成功与否提供即时反馈。Travis CI 还能够通过管理部署和通知来自动化项目开发的其他部分。
使用成本:免费
16. CodeShip
CodeShip 是一个完全可定制的 CI 平台,通过与已建立的 Docker 工作流程协作,为 Docker 提供本地支持。该平台致力于提高速度和安全性,并通过自动执行测试和部署任务来完成工作,从而完全控制构建环境。它提供了对许多其他云平台和编排工具的支持。
使用成本:
普通版:每月免费 100 个版本,定价从 $ 49 /月开始
专业版:每月 $ 75 /月起
17. GitLab CI
GitLab 结合了 CI,CD 和代码审查来处理整个应用程序的生命周期。它与 Docker Engine 上的 GitLab runner 结合使用,以启用应用程序的自动化测试和构建。其他功能还包括活动流,IDE,问题跟踪和存储库管理。GitLab CI 还有一个内置的容器注册表来扫描和存储 Docker 存储库。
工具链接:https://about.gitlab.com/features/gitlab-ci-cd/
使用成本:
社区版:免费,无限用户
企业版入门:
$
3.25 /用户/月企业版高级版:
$
16.59 /用户/月
18. Shippable
加快与可发布的软件交付; 为开发人员提供的 SaaS 平台,大大缩短了构建,测试和部署代码到生产所需的时间。Shippable 被设计成一个一站式的自动化平台,通过提供完整的工作流可视性,实现 DevOps 的实践和优化创新。简单的即插即用接口意味着可以与许多其他应用程序架构和技术堆栈轻松集成。
工具链接:https://www.shippable.com/
使用成本:
免费:c4.large 节点,无限制构建,1 个并发作业
$
25/75/150 / month:c4 large / xlarge / 2xlarge 节点,每个并发作业企业支持附加:从
$
500 /月开始
19. CodeFresh
CodeFresh 提供了一个完整的工具链,开发人员可以创建和自动化交付管道。这些 Docker 本地 CI / CD 管道基于 Kubernetes 构建,通过缓存提供快速高效的资源管理。CodeFresh 将企业就绪的注册表与 Kubernetes 的无缝连接和部署相结合。
使用成本:
免费(仅限公共回购 public repos only)
普通版:开始于
$
99 /月(公共和私人回购)专业版:
$
299 /月,与 SSH 专用节点
20. Buddy
立即构建,测试和部署应用程序。Buddy 是一个 CI / CD 和用户反馈平台,具有友好的用户界面,快速集成和工具,使得持续部署更加方便和高效。它支持所有流行的语言和框架,包括 Angular,Ruby,Python,PHP / Laravel,Node.js 和.NET Core。
工具链接:https://buddy.works/
使用成本:
自由职业者:
$
49 /月团队:
$
99 /月软件公司:
$
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 进行本地集成,可以自动执行部署工作流程,使您可以专注于构建应用程序。
使用成本:
社区版:免费;
虚拟专用管道:
$
350 /每月起
监控
对于 Caylent 对容器监测的洞察力,请查看我们的博客文章,了解 Prometheus 和 Grafana 与 Sysdig 和 Sysdig Monitor 的优缺点。
23. Sumo Logic
Sumo Logic 是一款云本地日志审查工具,可提供高级分析,可视化和警报选项。度量监控解决方案提供实时安全和操作信息,并允许你诊断和解决所有应用程序和基础架构问题。机器学习分析还意味着在威胁和异常成为问题并影响最终用户之前快速发现和预测威胁和异常。
工具链接:https://www.sumologic.com/
使用成本:
免费:高达 500MB /天
专业:日志和指标:
$
90 /月,1GB /天企业:日志和指标:
$
150 /月,1GB /天
24. Prometheus
Prometheus 由 SoundCloud 开发,是一个开源的系统监控和警报工具包。它包含许多方面的监控,例如度量标准生成和收集,结果可视化以及发生异常时的警报功能。Prometheus 擅长于记录数字时间序列,并补充了以机器为中心的监控以及高度动态的面向服务的体系结构。
使用成本:免费
25. Sysdig
Sysdig 开源是所有 Sysdig 产品背后的核心技术。开源工具旨在提供单个主机的详细故障诊断,并作为基于命令行的界面工作。
使用成本:
开源:免费
普通版:
$
20 /月专业云版本:
$
30 /月定制化软件:价格面议
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 个主机
专业版:
$
15 /主机/月企业版:
$
23 /主机/月
28. New Relic
作为行业的领导者,New Relic 是一个纯粹的基于 SaaS 的性能管理解决方案,它允许开发人员实时诊断和修复应用性能问题。它的应用程序性能监视(APM)功能提供即时可见性,并且其基础架构内的 Linux 代理程序会自动收集在已安装主机上运行的 Docker 容器度量标准。
使用成本:
自托管环境:专业版
$
149 /月; 普通版:$
75 /月基于云的选项:取决于提供者和实例大小,运行时间和数量
29. cAdvisor
Google 的 cAdvisor(Container Advisor)是一个监控解决方案,它分析在 Docker 中运行的容器的所有性能特征和资源使用情况。该工具将生成并收集容器度量标准,例如网络统计信息,资源隔离参数以及资源使用情况的完整历史记录。
工具链接:https://github.com/google/cadvisor
使用成本:免费
日志
30. Logspout
Logspout 是帮助管理在 Docker 容器中运行的程序生成的日志的一个很好的工具。它将容器应用程序日志路由到单个位置(例如,通过 HTTP 可用的 JSON 对象或流式端点)。Logspout 也有一个可扩展的模块系统。
工具链接:https://github.com/gliderlabs/logspo
使用成本:免费
31. Fluentd
Fluentd 作为一个开源数据收集器工作 - 一个统一和记录所有其他容器日志的容器。拥有 500 多个插件,Fluentd 连接到许多数据源和数据输出来收集事件; 这些被标记为在需要的地方路由它们。这种基于标签的路由可以使复杂的路由干净地表达。
使用成本:免费
32. Logstash
作为 Elastic Stack 的一部分,Logstash 与 Beats,Elasticsearch 和 Kibana 一起运行良好。它是一个开源的服务器端处理管道,可以传输和处理日志,事件或其他数据。
工具链接:https://www.elastic.co/products/logstash
使用成本:免费
33. syslog-ng
使用 syslog-ng 从各种来源收集日志,并在将它们路由到不同的目的地之前,几乎实时地处理它们。一个值得信赖的日志管理基础架构,syslog-ng 将高性能功能与丰富的消息解析和重写选项结合在一起。
使用成本:免费(根据要求可提供 syslog-ng 高级版的价格)
安全
34. Clair
Clair 是一个开源项目,旨在识别和分析 Docker 和 appc 应用程序容器中的漏洞。Clair 定期从定制和配置的源组中提取容器漏洞元数据,以识别容器映像(包括上游的容器映像)中的威胁。
工具链接:https://coreos.com/clair/docs/latest/
使用成本:免费
35. Aqua Security
Aqua Security 可以在任何平台上运行,通过提供全堆栈安全来保护基于容器的应用程序。专用平台 Aqua Security 可以严格控制你的容器环境,并从开发阶段开始。这是一个提供完整的可视性和管理的综合工具。
使用成本:定价是选定软件计划费用加上所需虚拟机的 Azure 基础架构成本的组合
36. Twistlock
Twistlock Security Suite 旨在解决基于容器的应用程序过程中的安全问题。这是一个端到端的安全解决方案,通过增加 Docker 容器工作方式的监控层来检测漏洞。Twistlock 使应用程序生命周期中的容器映像变得更加坚固。
工具链接:https://www.twistlock.com
使用成本:软件定价基于选定的订阅和基础设施选项
37. Docker Bench for Security
Docker Bench for Security 是一个可以在任何 Docker 主机上运行的预构建包装容器。它是一组应该作为 root 用户运行的 Bash shell 脚本。在生产中常见的测试检查部署 Docker 容器的最佳安全实践。
工具链接:https://hub.docker.com/r/docker/docker-bench-security
使用成本:免费
38. Docker Notary
Notary 是一个开源的 Docker 项目,提供数据收集的安全性。运行 Notary 服务来发布和管理任意内容。对发布的集合进行数字签名,并允许用户验证内容的完整性和来源。
工具链接: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 是一个分散存储解决方案,用于持久性,共享和复制卷;它可以大规模地自动部署和运行数据服务。
使用成本:免费
41. Blockbridge
Blockbridge 卷插件为具有高级安全性,移动性,备份和恢复功能的容器应用程序提供高性能存储。通过 Docker 1.13+的“Managed Docker Plugin”,Docker 本身就负责安装和生命周期管理。
工具链接:http://www.blockbridge.com/
使用成本:免费
42. Flocker
使用此开源数据卷协调器轻松管理 Dockerized 应用程序和容器存储。Docker 容器的短暂特性意味着当容器被删除时,其存储将丢失。Flocker 允许你在主机更改时通过迁移数据和容器来永久存储数据。
工具链接:https://clusterhq.com/flocker/
使用成本:免费
网络
43. flannel
专为 Kubernetes 而设计的 Flannel 是一种简单易用的方法,可通过在群集中的多个节点之间使用第 3 层 IPv4 网络来配置安全的网络结构。它并不控制容器如何与主机平台联网,而只是如何在主机之间传输流量。
工具链接:https://coreos.com/flannel/docs/latest/
使用成本:免费
44. Weaveworks
Weaveworks 为开发人员提供了一种高效的方式来连接,观察和控制 Docker 容器。它创建了一个灵活的虚拟网络基础设施,连接在多个主机上部署的容器。Weaveworks 扩展了像 Kubernetes 和 Docker Swarm 这样的容器编排器的效率,并简化了生产中容器的管理。
使用成本:
标准:
$
30 /节点/月或每年$
300企业:
$
150/节点/月或每年$
1500
45. Project Calico
Calico 是一个高度可扩展的开放源代码项目,提供了虚拟网络的第 3 层方法,可以支持无数计算主机上的大量虚拟机群集。此工具的简化网络模型设计支持为您的每个工作负载配置细粒度的连接策略,并允许集中管理 SDN。
工具链接:https://www.projectcalico.org/getting-started/docker/
使用成本:免费
服务发现
46. Consul
Consul 是一个易于使用的,基于开放标准的服务发现方法,可在 FreeBSD,Linux,Mac OS X,Solaris 和 Windows 上运行。构建多数据中心感知,Consul 支持多个区域,没有复杂的配置。主要功能包括:服务发现,健康检查和密钥/值存储等。
使用成本:免费
47. Etcd
由 CoreOS 创建,etcd 是为共享配置和服务发现而设计的高可用性键值存储。该工具提供了将数据存储在一组机器上的可靠方法。它专门为运行 CoreOS 的集群而构建,但 etcd 也可以在其他操作系统(包括 BSD,Linux 和 OS X)上运行。
使用成本:免费
48. Proxy
Factorish 创建了一个简单易用的轻量级(<30mb)容器代理。该工具基于 alpine / gliderlabs,并以 nginx 作为 HTTP 负载平衡器运行。
工具链接:https://hub.docker.com/r/factorish/proxy/
使用成本:免费
构建
49. Packer
Packer 是一个 Hashicorp 工具,用于构建机器映像(包括 Docker),并与诸如 Ansible,Chef 和 Puppet 等配置管理工具集成。它是一个轻量级的工具,可以在单个源配置的每个主要操作系统上运行。
工具链接:https://www.packer.io/docs/builders/docker.html
使用成本:免费
50. Whales
自动 Dockerize 与 Whales 你的应用程序。唯一需要的是在主机上安装并运行 Docker。然后,Whales 通过输出必要的文件来运行 Docker 和应用程序。
使用成本:免费
51. Gradle
Gradle 插件使得所有的构建脚本都可以与 Docker 守护进程交互。每个任务委托给 Docker-client,然后通过 HTTP 连接到 Docker 的远程 API。大多数配置参数是可选的。
工具链接:https://gradle.org/
使用成本:免费
管理
52. Portainer
Portainer 是 Docker 环境的开源轻量级管理用户界面。Portainer 在 Docker API 之上工作,并提供 Docker 的详细概述。功能包括管理容器,图像,网络和卷的功能。
使用成本:免费
原文链接:https://dzone.com/articles/50-useful-docker-tools
评论