这可能是网上最全的 docker是干什么的

近几年以来,容器生态的增长和发展比以往任何时候都要快,Docker 相关的工具及服务也随之越来越多,以至于想弄明白其中的几个工具或服务就成了一项非常艰巨的任务 。
无论你是初学者还是这方面的专家、开发人员或者运维工程师,SRE 亦或是平台架构师,本文将会成为你的学习指南 , 帮你了解当下最受欢迎的 Docker 工具产品 , 以使项目开发流程的各个阶段的效率得到有效提升 。

这可能是网上最全的 docker是干什么的

文章插图
Docker 工具类别目录
  • 容器编排和调度工具
  • 持续集成/持续部署(CI/CD)工具
  • 监控工具
  • 日志工具
  • 安全工具
  • 存储/卷管理工具
  • 网络配置工具
  • 服务发现
  • 镜像构建工具
  • 管理工具
容器编排和调度工具KubernetesKubernetes 是市场上公认的最流行的容器编排引擎 。它开始于 Google 的独立项目,最终发展成为成千上万的团队在生产环境中部署容器的首选工具 。Google 对外宣称每周有数十亿个容器通过 Kubernetes 进行编排和调度 。
该工具通过将组成应用程序的容器分组为多个逻辑单元,来进行容器的管理和服务发现,从而保证应用程序能正常工作 。
官网:https://kubernetes.io/
价格:免费
Docker SwarmSwarm 是 Docker 面向开发人员提供的容器编排和调度的管理工具 。Swarm 自 1.12.0 版起开始包含在 Docker 引擎中 , 并提供了大量的高级功能,比如内置的服务发现、负载均衡、扩展和安全管理等 。
Swarm 继承和发扬了 Docker 传统,即专注于工具易用性以及开发人员的体验 。客观的讲,它比开箱即用的 Kubernetes 更容易上手使用 。
官网:https://www.docker.com/
价格:社区版免费
Mesosphere DC/OSMesosphere 数据中心操作系统(DC/OS)是一个集成的开源平台,用于在 Apache Mesos 分布式系统内核上构建数据容器 。它旨在将数据中心内的多台服务器视为一个或多个群集,无论这些服务器是基于云上还是自行管理 。DC/OS 可以在同一环境中同时部署、管理无状态的应用和有状态工作负载 。
该工具可以与 Docker Swarm 和 Kubernetes 一同使用 。
官网:https://dcos.io/
价格:基于生产环境中节点(物理或虚拟)对 Mesosphere DC/OS 软件包的订阅数进行收费
Amazon ECSAWS 可以解决容器的编排及调度问题 。Amazon ECS 是一种高度可扩展的管理服务,它允许开发人员在 EC2 实例上运行容器化的应用程序 。它由多个内置组件组成,可实现 Docker 集群、任务和服务的简单调度和部署 。
尽管不支持在 EC2 之外运行容器,但好处是 Amazon ECS 包含了所有 AWS 服务的优势,例如拥有 CloudTrail、CloudWatch、Elastic Load Balancers 等功能服务 。
官网:https://aws.amazon.com/ecs/
价格:Amazon ECS 无需额外费用 。但需要支付存储和运行应用程序所需的 AWS 资源(例如 EC2 实例或 EBS 存储) 。
Azure Container Service (AKS)最近,Azure 的服务从 ACS 重命名为 AKS,是一项开源的管理服务,并已针对 Azure 虚拟机进行了优化 。它提供了创建、配置和管理开放式 Docker 容器基础架构的必要工具 。AKS 通过支持 Kubernetes、Mesosphere DC/OS 以及 Swarm,可以提供简化的基于容器的应用程序开发和部署 。
它支持用户通过自选的应用程序管理工具对容器进行扩展和编排,并可通过标准 API 调用进行管理 。
官网:https://azure.microsoft.com/en-us/services/container-service/
价格:只需为选择使用的资源付费,比如虚拟机、存储和网络资源等 。
Google Container Engine (GKE)在 Kubernetes 支持下,GKE 可以在 Google Cloud 上进行部署、管理和扩展容器化的应用程序 。GKE 的目标是通过改进容器化应用的管理来提高 IT 团队的生产力 。虽然它有着简洁的用户界面以及简单的命令行工具,但是这背后隐藏的管理任务是十分复杂的 。
Kubernetes 是 GKE 的基石 。尽管你无需学习 Kubernetes 可以直接使用 GKE,但是如果你了解 K8s 基本概念的话,在使用上 GKE 上会有很大的帮助 。
官网:https://cloud.google.com/container-engine/
价格:每个集群 5 个以内节点免费 , 6 个以上节点,按照 0.15 美元/小时(109.50 美元/月)进行收费
Cloud Foundry’s DiegoCloud Foundry 使用其 Diego 架构来管理“Garden”环境中的应用程序容器 。Garden 遵循 Linux 的开放容器协议(Open Container Initiative)准则来托管容器,并通过 Diego 的其他组件进行了抽象 。通过 Cloud Controller , Diego 可以提供应用程序的调度和管理功能 。
官网:https://docs.cloudfoundry.org/concepts/diego
价格:免费
MarathonMarathon 是基于 Apache Mesos 构建的私有生产级别的 PaaS(平台即服务) 。Marathon 框架支持对容器化的应用程序进行扩展,在必要时增加可用的资源池以对应用扩展更多的节点 。它也可以用作容器编排工具,为容器化的应用程序提供故障恢复 。Marathon 会自动处理硬件或软件故障 , 以确保应用程序始终处于正常工作状态 。
官网:https://mesosphere.github.io/marathon/
价格:免费
HashiCorp NomadNomad 支持在 Linux、Mac 和 Windows 多平台运行,是一个简单的二进制工具 , 能调度所有虚拟化、容器化以及独立运行的应用程序 。从单容器简单应用到拥有成千上万个容器的大型应用,Nomad 允许你几分钟内在 5000 个主机上运行百万级别数量的容器 。通过在有限的服务器上高效地分配更多的应用程序,Nomad 在降低生产成本的同时,也提高了服务器的资源使用率 。
官网:https://www.nomadproject.io/
价格:免费
HeliosHelios 最初是 Spotify 的内部工具,用于确保数百个微服务可在数千台服务器上有效运行 。它能够实现大规模部署和容器管理,并配备了基于 HTTP 的 API 和命令行客户端 。
Helios 不需要特定的网络拓扑 。它只需要确保宿主的服务器上正常运行了 ZooKeeper 集群和 JVM 。它可以作为开源的项目使用 。
官网:https://github.com/spotify/helios
价格:免费
RancherRancherOS 不仅可以用来进行容器编排,还可在生产环境中用作完整的容器管理平台 。RancherOS 是一个基于容器的操作系统(OS),能够支持许多基础架构服务,比如全局和本地的负载均衡、主机网络互联、存储卷快照等 。Rancher 还集成了类似 Docker Machine 和 Swarm 的本地 Docker 管理功能 。
官网:http://rancher.com/
价格:免费
NebulaNebula 是为 Docker 容器编排而生的一个新的开源项目,旨在实现大规模的集群管理 。该工具通过按需扩展每个项目组件来实现此功能 。该项目的目标是充当 IoT 设备以及 CDN 或边缘计算等分布式服务的 Docker 编排器 。Nebula 能够实现通过一个 API 调用同时更新全球成千上万的 IoT 设备 。Nebula 旨在帮助开发人员和运维人员像操作分布式容器应用一样操作物联网设备 。
官网:http://nebula.readthedocs.io/en/latest/
价格:免费
持续集成/持续部署 (CI/CD)工具JenkinsJenkins 是领先的 CI 工具,可以使开发人员和运营团队能够自动化应用程序的构建和测试 。因此,它已成为 DevOps 这一主题的代名词 。Jenkins 是一个基于 Java 的独立程序,开箱即用,并提供了大量的插件,方便与整个项目相关的其他工具进行集成 。该工具可以让你能够快速构建代理,部署构件 , 以及对其快速拆卸 。
官网:https://jenkins.io/
价格:免费
CircleCICircleCI 可以帮助软件团队专注于为客户创造价值,而不是维护 CI 基础架构 。CircleCI 通过简化和加速持续集成流程,来提高 IT 团队的生产效率 。它集成效率很高,并允许你在注册账户后立即构建和部署 。它支持通过 SSH 远程手动调试程序,以及在项目开始后支持动态地扩展容器数量 。
官网:https://circleci.com/
价格:第一个容器是免费的;对于其他情况,近期价格有调整,具体收费参考官网
Travis CITravis CI 是一个免费开源的持续集成项目,它通过自动地构建和代码修改测试来提高开发部署的效率 。软件即服务(Saas)平台能够提供有关代码更改结果的即时反馈 。Travis CI 还能够通过管理部署流程以及开启通知功能,来使开发过程的其他部分实现自动化 。
官网:https://travis-ci.org/
价格:免费
CodeShipCodeShip 是一个支持完全自定义的 CI 平台 。它工作在已建立的 Docker 工作流之上,为 Docker 提供本地支持 。该平台致力于提高速度和安全性,并通过自动化测试和部署任务来工作,从而使你可以完全控制环境的构建 。它对许多常见的云平台以及容器编排工具提供了支持 。
官网:https://codeship.com/
价格:
  • 基础版:每月免费构建 100 次,超过免费限制后,每月收费低至 49 美元
  • 高级版:每月收费低至 75 美元 , 具体收费可以参照官网说明
GitLab CIGitLab 结合了 CI、CD 以及代码审查来处理整个应用程序的生命周期 。它与 Docker Engine 上的 GitLab 运行程序结合使用 , 以实现自动化测试和应用构建 。其他功能还包括任务流、IDE、问题跟踪以及代码库管理 。GitLab CI 还具有一个内置的容器注册表来扫描和存储 Docker 仓库 。
官网:https://about.gitlab.com/features/gitlab-ci-cd/
价格:
  • 社区版:免费,用户数不做限制
  • 企业入门版:每月每用户 3.25 美元
  • 企业高级版:每月每用户 16.59 美元
Shippable使用 Shippable 可以提高软件交付速度;它是一个面向开发人员的 SaaS 平台,可显著减少构建,测试和部署代码到生产环境所需的时间 。Shippable 设计为一站式自动化平台,可支持 DevOps 的实践,提供了完整的工作流可视化功能 。简单的即插即用接口意味着 Shippable 可以轻松地与许多其他应用架构和技术栈进行集成 。
官网:https://www.shippable.com/
价格:
  • 免费版:c4.large 节点,无限制构建,支持 1 个并发作业
  • 25/75/150 美元每月:c4.large/xlarge/2xlarge 节点(每个并发作业)
  • 附加企业支持:每月 500 美元起 , 具体参考官网价格介绍
CodeFreshCodeFresh 提供了一个完整的工具链,开发人员可以使用它来创建工作流并使其自动化 。这些基于 Docker 的本地 CI/CD 管道由 Kubernetes 进行构建,可通过缓存提供快速有效的资源管理 。CodeFresh 可以将企业已有的注册表无缝连接并部署到 Kubernetes 。
官网:https://codefresh.io/
价格:
  • 免费版(仅限公共代码仓库)
  • 基础版: 每月 99 美元起(公共或私有代码仓库)
  • 专业版: 每月 299 美元起,提供 SSH 登陆专有节点
BuddyBuddy 可以立即构建、测试和部署应用程序 。该工具是一个 CI/CD 平台,具有友好的用户界面 , 支持快速集成和持续高效部署 。它支持当前流行的编程语言和框架,包括 Angular、Ruby、Python、PHP / Laravel、Node.js 及.NET Core 。
官网:https://buddy.works/
价格:
  • 自由职业者: 每月 49 美元
  • 团队:每月 99 美元
  • 软件公司:每月 199 美元
  • 超大型企业:每月 299 美元
DroneDrone 是开源的持续集成和部署即服务(DaaS)平台 , 它使用 Go 和 Docker 并基于容器技术构建 。该平台不需要安装,配置或服务器维护,可以与 BitBucket、Heroku、GitHub 以及其他平台无缝集成,并且使用 Docker 容器实现自动化代码构建、测试和部署 。
官网:https://drone.io/
价格:
  • 微小企业:每月 125 美元
  • 中型企业:每月 250 美元
  • 大型企业:每月 500 美元
WerckerWercker 是 Docker 原生的 CI 和 CD 自动化平台,旨在帮助软件开发人员构建和部署其应用程序以及复杂的微服务架构 。Wercker 可以与 Kubernetes 原生集成 , 可自动执行定义的部署工作流 , 让你可以专注于构建应用程序 。
官网:http://www.wercker.com/
价格:社区版:免费;付费版:每月 350 美元起
监控工具Sumo LogicSumo Logic 是一种云原生的日志查看工具 , 可以提供高级数据分析、可视化和警报功能 。指标监控解决方案可以提供实时安全性指标和操作信息,并允许你诊断和定位所有应用程序和基础架构问题 。基于机器学习的分析还意味着,可以在问题和异常发生并影响最终用户之前 , 快速发现并预测潜在威胁和异常 。
官网:https://www.sumologic.com/
价格:
  • 免费版:每天上限 500MB
  • 专业版:日志和指标:每月 90 美元,每天 1GB
  • 企业版:日志和指标:每月 150 美元,每天 1GB
PrometheusPrometheus 由 SoundCloud 开发,是一个开源的系统监控及警报工具 。它包含了监控相关的许多方面,例如指标的生成和收集、结果可视化以及异常发生时的报警功能 。Prometheus 擅长记录时间序列数据 , 并且补充了以服务器为中心的监控以及高度动态的面向服务的体系架构 。
官网:https://prometheus.io/
价格:免费
SysdigSysdig 开源是所有 Sysdig 产品背后的核心技术 。该开放源代码工具旨在提供单个主机的详细故障定位和排除功能,并以基于命令行界面的形式进行交互使用 。
官网:https://www.sysdig.org/
价格:
  • 开源版:免费
  • 基础版:每月 20 美元
  • 专业云服务:每月 30 美元
  • 专业软件:参考官方网站报价
Sysdig MonitorSysdig Monitor(以前称为 Sysdig Cloud)是 Sysdig 的商业解决方案,用于生成和分析系统级信息和实时数据 。它专为 Linux 系统故障定位和排除而设计,提供了深入的容器可视化监控,对 Docker 环境的监控十分有用 。
官网:https://sysdig.com/product/how-it-works/
价格:根据云服务和软件版本灵活定价
Datadog官网:https://www.datadoghq.com/
价格:
  • 免费版:5 台以内主机免费
  • 专业版:每台主机每月 15 美元
  • 企业版:每台主机每月 23 美元
New Relic作为行业领导者,New Relic 是一个基于 SaaS 服务的性能管理解决方案 。它使得开发人员可以实时诊断和修复应用程序性能问题 。它的应用程序性能监视(APM)功能可以提供实时可视化 , 其基础架构中的 Linux 代理会自动收集在监控主机上运行的 Docker 容器的相关指标 。
官网:https://newrelic.com/
价格:
  • 自托管环境:专业版每月 149 美元; 基础版每月 75 美元
  • 基于云环境:取决于云服务商和实例的大?。?运行环境和监控数量
cAdvisorGoogle 的 cAdvisor(容器顾问)是一个监控解决方案 , 可分析 Docker 中运行的容器的所有性能指标和资源使用情况 。该工具会收集并生成容器相关指标,例如网络信息统计、资源隔离参数以及资源使用情况的完整历史记录 。
官网:https://github.com/google/cadvisor
价格:免费
日志工具LogspoutLogspout 是一个非常好用的日志工具,可帮助用户管理 Docker 容器中运行的程序生成的日志 。它将容器化应用的运行日志路由到指定位置(例如 , 路由到 JSON 对象或通过 HTTP 转发到其他服务器) 。Logspout 还具有可扩展的模块系统 。
官网:https://github.com/gliderlabs/logspout
价格:免费
FluentdFluentd 可以看作是一个开源的数据收集器,可以统一和记录所有其他容器的日志 。它拥有超过 500 个插件,可以连接到许多数据源,并可以控制数据输出以收集事件;通过标签标记的方式将日志路由到指定位置 。这种基于标签路由的方式可以让复杂的路由规则十分清晰的表示出来 。
官网:https://www.fluentd.org/
价格:免费
LogstashLogstash 是 Elastic Stack 技术栈的一部分,可以与 Beats、Elasticsearch 和 Kibana 一起很好地配合工作 。它是一个开源的服务器端处理系统,可以用于传输和处理日志、事件或其他数据 。
官网:https://www.elastic.co/products/logstash
价格:免费
syslog-ng使用 syslog-ng 可以从各种来源收集日志,并在将日志路由到其他目标之前,对其进行近乎实时的处理 。syslog-ng 是一个高可用的日志管理基础架构,它非常高效地实现了富文本解析和日志重写功能 。
官网:https://syslog-ng.org/
价格:免费——高级版本按所提供的服务收费,具体参考官方网站
安全工具ClairClair 是一个开源项目,旨在识别和分析 Docker 和 appc 容器化应用中的漏洞 。Clair 会定期从一组自定义配置的来源中提取容器漏洞元数据,以便识别容器映像及其上游中的安全漏洞 。
官网:https://coreos.com/clair/docs/latest/
价格:免费
Aqua SecurityAqua Security 通过提供全栈安全性保障,来保护所有平台上基于容器的应用程序 。Aqua Security 是一个专用平台,可在开发各个阶段对容器环境和过程进行严格控制 。它可以提供可视化和安全管理等功能,功能十分丰富 。
官网:https://www.aquasec.com/
价格:定价由所选软件计划费用以及虚拟机的 Azure 基础架构服务费用决定
TwistlockTwistlock 安全套件旨在解决容器化应用的安全性问题 。它是一种端到端安全解决方案,它通过增加 Docker 容器监视层来检测漏洞 。Twistlock 可以在应用程序的整个生命周期内强化容器映像并增强安全策略 。
官网:https://www.twistlock.com/
价格:软件定价由所选的订阅和基础架构服务决定
Docker Bench for SecurityDocker Bench for Security 是一个预构建容器,可以在任何 Docker 主机上运行 。它是一组 Bash shell 测试脚本,并以 root 用户身份运行 。这些测试会对生产环境中部署的 Docker 容器的常见最佳安全实践进行检查 。
官网:https://hub.docker.com/r/docker/docker-bench-security/
价格:免费
Docker NotaryNotary 是一个开源 Docker 项目,可为数据收集提供安全保证 。通过运行 Notary 服务来发布和管理内容 。它可以对发布的内容进行数字签名,并允许用户对内容的完整性和来源进行验证 。
官网:https://github.com/docker/notary
价格:免费
存储/卷管理工具ConvoyConvoy 是由 Rancher 公司创建的 Docker 卷管理插件,用于管理持久化容器卷 。它是一个开源 Docker 卷驱动程序 , 可以进行快照备份和还原 Docker 卷 。它支持在 AWS 上创建 Docker 卷 , 拥有 Elastic Block Store 的所有功能和性能 。另外,它可以获取现有的 EBS 卷 , 并使用它来创建可以附加到 Docker 容器的卷 。
官网:https://github.com/rancher/convoy
价格:免费
PortworxPortworx 是用于持久化、共享和复制卷的分布式存储解决方案 。它可以实现大规模自动化数据服务的部署和操作 。
官网:https://portworx.com/
价格:免费
BlockbridgeBlockbridge 卷管理插件拥有高级的安全性、移动性以及备份和还原功能,可为容器化应用提供高性能存储 。借助适用于 Docker 1.13+的 Docker 插件,Docker 可以自行完成卷的安装和生命周期管理 。
官网:http://www.blockbridge.com/
价格:免费
网络配置工具flannelflannel 是专为 Kubernetes 设计的网络配置工具,它通过在群集中多个节点之间使用第 3 层的 IPv4 网络来配置安全网络结构 。它不控制容器与主机平台的联网方式,而仅控制主机之间的网络流量传输方式 。
官网:https://coreos.com/flannel/docs/latest/
价格:免费
weaveworksWeaveworks 为开发人员提供了一种高效的方式来连接、监控和控制 Docker 容器 。它可以创建一个灵活的虚拟网络结构,通过该结构连接跨多个主机部署的容器 。Weaveworks 扩展和提高了 Kubernetes 和 Docker Swarm 等容器编排工具的效率,并简化了生产环境中容器的管理 。
官网:https://www.weave.works/
价格:
  • 标准版:每个节点每月 30 美元或每年 300 美元
  • 企业版:每个节点每月 150 美元或每年 1500 美元
Project CalicoCalico 是一个高度可扩展的开源项目,可以为虚拟网络提供了相应方案,以支持无限主机上的虚拟机集群 。该工具的简化网络模型设计可以支持为每个负载配置较细粒度的连接策略,并允许 SDN 进行集中管理 。
官网:https://www.projectcalico.org/getting-started/docker/
价格:免费
服务发现ConsulConsul 是一种易于使用、基于开放标准的服务发现解决方案 , 可在 FreeBSD,Linux,Mac OS X,Solaris 和 Windows 上运行 。Consul 旨在支持多数据中心,无需复杂的配置即可为多个数据区域提供支持 。其重要功能包括:服务发现,运行状况检查以及键/值对存储等 。
官网:https://www.consul.io/
价格:免费
EtcdEtcd 由 CoreOS 创建,是专为共享配置和服务发现而设计的高可用键值存储系统 。该工具提供了一种在机器集群上存储分布式数据的高可用方法 。它专门为运行 CoreOS 的集群而构建 , 但是 etcd 也可以在其他常见操作系统(包括 BSD,Linux 和 OS X)上正常运行 。
官网:https://coreos.com/etcd/
价格:免费
ProxyFactorish 将代理构建为易于使用的轻量级(<30mb)容器 。该工具基于 alpine/gliderlabs 创建并使用 nginx 作为 HTTP 负载均衡器来运行 。
官网:https://hub.docker.com/r/factorish/proxy/
价格:免费
镜像构建工具PackerPacker 是 Hashicorp 下的一款工具 , 用于构建服务映像(包括 Docker) , 并可以与 Ansible,Chef 和 Puppet 等配置管理工具集成 。它是一个轻量级的工具 , 可通过单一源配置在 OS 上运行 。
官网:https://www.packer.io/docs/builders/docker.html
价格:免费
Whales使用 Whales 可以自动对应用程序进行容器化 。唯一需要做的就是在主机上安装并运行 Docker 服务 。Whales 会输出程序运行必要的依赖文件,然后就可以通过 Docker 来运行你的应用程序了 。
官网:http://www.whales.mx/
价格:免费
GradleGradle 插件使得容器构建脚本与 Docker 守护程序的通讯变得非常简单 。每个任务都委托给 Docker 客户端 , 该客户端随后通过 HTTP 连接到 Docker 的远程 API 。Gradle 有很多支持自定义的配置参数 。
官网:https://gradle.org/
价格:免费
管理工具PortainerPortainer 是开源的轻量级 Docker 环境管理界面 。Portainer 运行在在 Docker API 之上,并且可以提供 Docker 服务的详细描述 。其功能包括了对容器、镜像、网络和存储卷的管理 。
官网:https://portainer.io/
价格:免费
原文链接:
https://caylent.com/50-useful-docker-tools#Log
延伸阅读:
避免不完全的云原生(六):为什么你可能不需要弹性伸缩?-InfoQ【这可能是网上最全的 docker是干什么的】关注我并转发此篇文章,即可获得学习资料~若想了解更多,也可移步InfoQ官网 , 获取InfoQ最新资讯~