1. 程式人生 > >52個有用的 Docker 工具

52個有用的 Docker 工具

高級特性 用戶反饋 ctc org 故障恢復 觀察 多數據源 開放 承諾

Docker工具分類列表

  • 編排和調度
  • 持續集成/持續部署(CI / CD)
  • 監控
  • 記錄
  • 安全
  • 存儲/卷管理
  • 聯網
  • 服務發現
  • 構建
  • 管理

編排和調度

1. Kubernetes

技術分享圖片

Kubernetes是市場上最實用的最受歡迎的容器編排引擎。最初作為一個Google項目開始,成千上萬的團隊使用它來部署生產中的容器。谷歌聲稱它每周使用Kubernetes運行數十億個容器。

該工具通過將構成應用程序的容器分組為邏輯單元進行工作,以便於管理和發現。

工具鏈接: https://kubernetes.io

使用成本:免費

2. Docker Swarm

技術分享圖片

Swarm是Docker解決開發人員如何在許多服務器上編排和調度容器的問題的一種方式。從1.12.0版本開始,Swarm已經被包含在Docker Engine中,並且提供了一些高級特性,例如服務發現,負載均衡,擴展和安全性。

Swarm繼續將關註簡單性和開發者體驗作為Docker傳統。通常來說Swarm比Kubernetes更容易使用。

工具鏈接:https://www.docker.com

使用成本:社區版免費

3. Mesosphere DC/OS

技術分享圖片

Mesosphere數據中心操作系統(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(ACS)

技術分享圖片

經過優化的開源管理服務可在Azure虛擬機上使用,Azure容器服務提供了創建,配置和管理開放式Docker容器基礎架構的必要工具。它提供簡化的基於容器的應用程序開發和部署,支持Kubernetes,Mesospere DC / OS或Swarm編排。

使用你選擇的應用程序管理工具進行規模化編排,並通過標準API端點進行連接。

工具鏈接:https://azure.microsoft.com/en … vice/

使用成本:僅需支付虛擬機以及使用的相關存儲和網絡資源。

6. 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 /月)

7. Cloud Foundry’s 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是一款能夠調度所有虛擬化,容器化和獨立應用程序的單一二進制工具。從單個容器到數千個群體,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

技術分享圖片

不僅僅是一個容器編排器,還是一個用於在生產環境中運行Docker的完整的容器管理平臺。RancherOS是一個基於容器的操作系統(OS),能夠提供諸如全局和本地負載平衡,多主機聯網以及卷快照等多種基礎架構服務。Rancher集成了本地Docker管理功能,如Docker Machine和Swarm。

工具鏈接:http://rancher.com/

使用成本:免費

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進行手動調試,並在開始項目時同時動態縮放容器的數量。

工具鏈接:https://circleci.com/

使用成本:第一個容器是免費的; 開源項目+3免費;額外的容器$ 50 /月(每個容器)

15. Travis CI

技術分享圖片

Travis CI是一個免費的開源CI項目,通過自動構建和測試代碼更改來提高開發的效率。軟件即服務(Saas)平臺隨即能夠對代碼更改的成功與否提供即時反饋。Travis CI還能夠通過管理部署和通知來自動化項目開發的其他部分。

工具鏈接:https://travis-ci.org/

使用成本:免費

16. CodeShip

技術分享圖片

CodeShip是一個完全可定制的CI平臺,通過與已建立的Docker工作流程協作,為Docker提供本地支持。該平臺致力於提高速度和安全性,並通過自動執行測試和部署任務來完成工作,從而完全控制構建環境。它提供了對許多其他雲平臺和編排工具的支持。

工具鏈接:https://codeship.com/

使用成本:

  • 普通版:每月免費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的無縫連接和部署相結合。

工具鏈接:https://codefresh.io/

使用成本:

  • 免費(僅限公共回購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進行本地集成,可以自動執行部署工作流程,使您可以專註於構建應用程序。

工具鏈接:http://www.wercker.com/

使用成本:

  • 社區版:免費;
  • 虛擬專用管道:$ 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擅長於記錄數字時間序列,並補充了以機器為中心的監控以及高度動態的面向服務的體系結構。

工具鏈接:https://prometheus.io/

使用成本:免費

25. Sysdig

技術分享圖片

Sysdig開源是所有Sysdig產品背後的核心技術。開源工具旨在提供單個主機的詳細故障診斷,並作為基於命令行的界面工作。

工具鏈接:https://www.sysdig.org/

使用成本:

  • 開源:免費
  • 普通版:$ 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容器度量標準。

工具鏈接:https://newrelic.com/

使用成本:

  • 自托管環境:專業版 $ 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連接到許多數據源和數據輸出來收集事件; 這些被標記為在需要的地方路由它們。這種基於標簽的路由可以使復雜的路由幹凈地表達。

工具鏈接: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可以嚴格控制你的容器環境,並從開發階段開始。這是一個提供完整的可視性和管理的綜合工具。

工具鏈接: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/docke … rity/

使用成本:免費

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是一個分散存儲解決方案,用於持久性,共享和復制卷;它可以大規模地自動部署和運行數據服務。

工具鏈接: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/

使用成本:

  • 標準:$ 30 /節點/月或每年$ 300
  • 企業:$ 150/節點/月或每年$ 1500

45. Project Calico

技術分享圖片

Calico是一個高度可擴展的開放源代碼項目,提供了虛擬網絡的第3層方法,可以支持無數計算主機上的大量虛擬機群集。此工具的簡化網絡模型設計支持為您的每個工作負載配置細粒度的連接策略,並允許集中管理SDN。

工具鏈接:https://www.projectcalico.org/ … cker/

使用成本:免費

服務發現

46. Consul

技術分享圖片

Consul是一個易於使用的,基於開放標準的服務發現方法,可在FreeBSD,Linux,Mac OS X,Solaris和Windows上運行。構建多數據中心感知,Consul支持多個區域,沒有復雜的配置。主要功能包括:服務發現,健康檢查和密鑰/值存儲等。

工具鏈接: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

技術分享圖片

自動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/

使用成本:免費

52個有用的 Docker 工具