容器生態系統正在以前所未有的速度不斷增長和擴展,面對海量的Docker工具和服務,如何選擇適合自己的就成為了一個難題。因此,我們根據不同的類別整理了52個Docker工具一覽表,無論是初學者還是專家,亦或是開發人員、DevOps工程師、架構師等等,這個一覽表都會成為你了解最流行產品的指南,在Docker開發的每個階段提供幫助。
Docker工具類別列表
·編排和調度程序
·持續集成/持續部署(CI / CD)
·監控
·記錄
·安全
·存儲/卷管理
·聯網
·服務發現
·構建
·管理
編排和調度程序
1. Kubernetes
Kubernetes是市場上最實用的最受歡迎的容器編排引擎。最初是Google的一個項目,現在成千上萬的團隊使用它來部署生產中的容器,谷歌聲稱每周使用Kubernetes運行數十億個容器。該工具通過將組成應用程序的容器分組為邏輯單元進行工作,以便于管理和發現。
鏈接:https://kubernetes.io
費用:免費
2. Docker Swarm
Swarm是Docker解決開發人員如何在許多服務器上編排和調度容器的問題。從1.12.0版本開始,Swarm已經被包含在Docker Engine中,并且提供了高級特性,例如服務發現,負載均衡,擴展和安全性。
Swarm將持續發揚Docker關注簡單性和開發者體驗的傳統,它比使用Kubernetes更容易使用。
鏈接:https://www.docker.com
費用:擁有免費的社區版
3. Mesosphere DC / OS
Mesosphere Datacenter Operating System(DC / OS)是一個集成的開源平臺,用于在Apache Mesos分布式系統內核上構建數據和容器。它旨在將數據中心內的多臺機器視為一個或多個集群,無論是在云中還是使用本地部署軟件。DC / OS可以在相同的環境中部署容器并管理無狀態應用程序和有狀態工作負載。
適用于Docker Swarm和Kubernetes。
鏈接:https://dcos.io/
費用: 基于環境中的節點數量付費(包括物理和虛擬節點)
4. Amazon ECS
這是Amazon Web Services針對容器編排給出的答案, Amazon ECS是一個高度可擴展的管理服務,允許開發人員在EC2實例上運行Docker化的應用程序。它由多個內置組件組成,可以簡化Docker集群,任務和服務的調度和部署。
雖然不支持在EC2之外運行容器,但其優點還包括AWS服務優勢,如CloudTrail,CloudWatch,Elastic Load Balancers等。
鏈接:https ://aws.amazon.com/ecs/
成本: Amazon ECS不收取額外費用。僅支付存儲和運行應用程序所需的AWS資源(例如EC2實例或EBS卷)。
5. Azure Container Service (ACS)
經過優化的開源管理服務在Azure虛擬機上使用,Azure容器服務提供了創建,配置和管理開放Docker容器基礎架構的必要工具。它提供了簡化的基于容器的應用程序開發和部署,支持Kubernetes,Mesospere DC / OS或Swarm進行編排。
支持您選擇的應用程序管理工具進行縮放和編排,并通過標準API端點進行連接。
鏈接:https ://azure.microsoft.com/en-us/services/container-service/
成本:僅支付虛擬機以及使用的相關存儲和網絡資源。
6. Google Container Engine(GKE)
GKE由Kubernetes提供支持,可以在Google Cloud上部署,管理和擴展容器化應用程序。GKE的目標是通過改進基于容器的工作負載的管理來優化IT團隊的生產力。它隱藏了復雜和簡單的管理任務,簡單的用戶體驗和簡單的命令行工具。
Kubernetes是GKE的骨干。
鏈接:https ://cloud.google.com/container-engine/
成本: 0-5節點免費,6節點以上$ 0.15 /小時($ 109.50 /月)
7. Cloud Foundry Diego
Cloud Foundry使用Diego架構來管理"garden"環境中的應用程序容器。Garden遵循Linux的Open Container Initiative容器托管指南,并通過Diego的其他組件提取。Diego元素通過云控制器提供應用程序調度和管理功能。
鏈接:https ://docs.cloudfoundry.org/concepts/diego
費用:免費
8. Marathon
Marathon是一個建立在Apache Mesos上的私有生產級平臺即服務(PaaS)。Marathon框架有望擴展Docker化應用程序,并在必要時擴展到更多節點以增加可用資源池。它也可以作為一個容器編排工具,為容器化的工作負載提供故障恢復。Marathon自動處理硬件或軟件故障,并確保應用程序"始終在線"。
鏈接:https ://mesosphere.github.io/marathon/
費用:免費
9. HashiCorp Nomad
在Linux,Mac和Windows的支持下,Nomad是一款能夠調度所有虛擬化,Docker化和獨立應用程序的單一二進制工具。從單個容器到數千個群體,Nomad允許您在幾分鐘內于5000臺主機上運行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管理功能,如Docker Machine和Swarm。
鏈接:http : //rancher.com/
費用:免費
12. Nebula
Nebula是為Docker編排而創建的一個開源項目,旨在管理大規模集群。該工具通過按需縮放每個項目組件來實現此目的。該項目的目標是充當物聯網設備的Docker Orchestrator,以及CDN或邊緣計算等分布式服務。Nebula能夠通過一個API調用同時更新全球數以萬計的物聯網設備。Nebula旨在幫助開發人員和操作人員處理物聯網設備,就像分布式Docker化應用程序一樣。
鏈接:http : //nebula.readthedocs.io/en/latest/
費用:免費
持續集成/持續部署(CI / CD)
13. Jenkins
Jenkins是領先的CI工具,使開發和運營團隊能夠自動構建和測試應用程序的周期。因此,它已經成為與DevOps movement同義的工具。Jenkins是一個獨立的基于Java的程序,開箱即用,提供了數百個插件,可與堆棧中的其他工具集成。該工具使您能夠快速配置構建代理,部署工件,然后快速拆除。
費用:免費
14. CircleCI
CircleCI承諾幫助軟件團隊專注于為客戶提供價值,而不是維護CI基礎架構。CircleCI通過使CI過程更快,更簡單,提高IT團隊的工作效率。它快速集成并允許在注冊后立即構建和部署。通過SSH進行手動調試,并在開始項目時同時動態縮放容器的數量。
鏈接:https ://circleci.com/
成本:第一個容器是免費的,前3個 開源項目也是免費的; 額外的Docker$ 50 /月(每個Docker)
15. Travis CI
Travis CI是一個免費的開源CI項目,通過自動構建和測試代碼更改來提高開發過程的效率。軟件即服務(Saas)平臺隨即能夠對代碼更改成功提供即時反饋。Travis CI還能夠通過管理部署和通知來自動化開發過程的其他部分。
鏈接:https ://travis-ci.org/
費用:免費
16. CodeShip
CodeShip是一個完全可定制的CI平臺,通過與已建立的Docker工作流程協作,為Docker提供本地支持。該平臺致力于提高速度和安全性,并通過自動化測試和部署任務,為您提供完整的構建環境控制。它提供了對許多其他云平臺和編排工具的支持。
鏈接:https ://codeship.com/
成本:
Basic: 100 builds/month免費,之后 $49/month
Pro: $75/month
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 /用戶/月
企業版高級版:$ 16.59 /用戶/月
18.shippable
加快與可發布的軟件交付; 為開發人員提供的SaaS平臺,大大縮短了構建,測試和部署代碼到生產所需的時間。Shippable是一站式的自動化平臺,通過提供完整的工作流可視性,實現DevOps的實踐和優化創新。簡單的即插即用接口意味著可以與許多其他應用程序架構和技術堆棧輕松集成。
鏈接:https ://www.shippable.com/
19. CodeFresh
CodeFresh提供了一個完整的工具鏈,開發人員可以創建和自動化交付管道。這些Docker本地CI / CD管道基于Kubernetes構建,通過緩存提供快速高效的資源管理。CodeFresh將企業就緒的注冊表與Kubernetes的無縫連接和部署相結合。
鏈接:https : //codefresh.io/
成本:
免費(public repos)
Basic: $99/month (public & private repos)
Pro:$299/month,專用節點與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-native CI&CD自動化平臺,旨在幫助軟件開發人員構建和部署其應用程序和復雜的微服務架構。Wercker與Kubernetes進行本地集成,可以自動執行部署工作流程,使您可以專注于構建應用程序。
鏈接:http : //www.wercker.com/
費用:社區版:免費; 虛擬專用管道:$ 350 /月
監控
23. Sumo Logic
Sumo Logic是一款云本地日志審查工具,可提供高級分析,可視化和警報選項。度量監控解決方案提供實時安全和操作信息,并允許您診斷和解決所有應用程序和基礎架構問題。機器學習分析還意味著在威脅和異常成為問題并影響最終用戶之前快速發現和預測威脅和異常。
鏈接:https ://www.sumologic.com/
成本:
免費:每天最高500MB
專業:日志和指標:$90/月,1GB /天
企業:日志和指標:$ 150 /月,1GB /天
24. Prometheus
Prometheus由SoundCloud開發,是一個開源的系統監控和警報工具包。它包含許多方面的監控,例如度量生成和收集,結果可視化以及發生異常時的警報功能。Prometheus擅長于記錄數字時間序列,并補充了以機器為中心的監控以及高度動態的面向服務的體系結構。
鏈接:https ://prometheus.io/
費用:免費
25. Sysdig
Sysdig open-source是所有Sysdig產品背后的核心技術。開源工具旨在提供單個主機的詳細故障診斷,并作為基于命令行的界面工作。
鏈接:https ://www.sysdig.org/
成本:
開源:免費
Basic:$ 20 /月
Pro Cloud:$ 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個主機
Pro:$ 15 /主機/月
Enterprise:$ 23 /主機/月
28. New Relic
作為行業的領導者,New Relic是一個純粹的基于SaaS的性能管理解決方案,它允許開發人員實時診斷和修復應用性能問題。它的應用程序性能監視(APM)功能提供即時可見性,而且其基礎架構內的Linux代理程序會自動收集在已安裝主機上運行的Docker容器度量標準。
鏈接:https ://newrelic.com/
成本:
自己托管的環境:Pro $149/month; Essentials: $75/month
基于云的選項:取決于提供者和實例大小,運行時間和數量
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
作為Elastic Stack的一部分,Logstash可與Beats,Elasticsearch和Kibana一起良好運行。它是一個開源的服務器端處理管道,可以傳輸和處理日志、事件或其他數據。
鏈接:https ://www.elastic.co/products/logstash
費用:免費
33. syslog-ng
syslog-ng可以從各種來源收集日志,并在將它們路由到不同的目的地之前,幾乎實時地處理。syslog-ng是一個值得信賴的日志管理基礎架構,它將高性能功能與豐富的消息解析和重寫選項結合在一起。
鏈接:https ://syslog-ng.org/
費用:免費(根據要求可付費提供syslog-ng高級版)
安全
34.Clair
Clair是一個開源項目,旨在識別和分析Docker和appc應用程序容器中的漏洞。Clair定期從定制和配置的源組中提取容器漏洞元數據,以識別容器映像(包括上游的容器映像)中的威脅。
鏈接:https ://coreos.com/clair/docs/latest/
費用:免費
35. Aqua Security
Aqua Security可以在任何平臺上運行,通過提供全堆棧安全來保護基于容器的應用程序。專用平臺Aqua Security可以嚴格控制Docker環境。這是一個提供完整的可見性和管理的綜合工具。
鏈接:https ://www.aquasec.com/
成本:選定軟件計劃費用加上所需虛擬機的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項目,提供數據收集的安全性。運行公證服務來發布和管理任意內容。對發布的集合進行數字簽名,并允許用戶驗證內容的完整性和來源。
鏈接:https ://github.com/docker/notary
費用:免費
存儲/卷管理
39.Convoy
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卷插件為具有高級安全性,移動性,備份和恢復功能的容器應用程序提供高性能存儲。通過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這樣的容器編排器的效率,并簡化了生產中容器的管理。
鏈接:https ://www.weave.works/
成本:
Standard: $30 per node/month or $300 annually
Enterprise: $150 per node/month or $1500 annually
45. Calico項目
Calico是一個高度可擴展的開源項目,提供了虛擬網絡的第3層方法,可以支持無數計算主機上的大量虛擬機集群。此工具的簡化網絡模型設計支持為您的每個工作負載配置細粒度的連接策略,并允許集中管理SDN。
鏈接:https ://www.projectcalico.org/getting-started/docker/
費用:免費
服務發現
46.Consul
Consul是一個易于使用的,基于開放標準的服務發現方法,可在FreeBSD,Linux,Mac OS X,Solaris和Windows上運行。主要功能包括:服務發現,健康檢查和鍵/值存儲等。
鏈接:https : //www.consul.io/
費用:免費
47. Etcd
由CoreOS創建,etcd是為共享配置和服務發現而設計的高可用性鍵值存儲。該工具提供了將數據存儲在一組機器上的可靠方法。它專門為運行CoreOS的集群而構建,但etcd也可以在其他操作系統(包括BSD,Linux和OS X)上運行。
鏈接:https ://coreos.com/etcd/
費用:免費
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
Automatically Dockerize應用程序和whales,唯一需要的是在主機上安裝并運行Docker。然后,whales通過輸出必要的文件來運行Docker來運行應用程序。
費用:免費
51. Gradle
Gradle插件使得所有的構建腳本都可以與Docker守護進程交互。每個任務委托給Docker-client,然后通過HTTP連接到Docker的遠程API。大多數配置參數是可選的。
費用:免費
管理
52. Portainer
Portainer是Docker環境的開源輕量級管理用戶界面。Portainer在Docker API之上工作,并提供Docker的詳細概述。功能包括管理容器,圖像,網絡和卷的功能。
鏈接:https : //portainer.io/
費用:免費
以上就是Docker工具的完整清單,希望能夠對你有所幫助。如果你有更好的工具推薦,歡迎在下方留言評論!