歡迎光臨
每天分享高質量文章

50+個有用的Docker工具

容器生態系統正以前所未有的速度不斷增長和擴大,並且擁有這麼多的Docker工具和服務,僅僅瞭解這些工具有用的選項,你就會感受到任務的艱巨。無論你是初學者還是專家,開發人員或DevOps工程師,SRE或平臺架構師,下麵的串列都將成為你瞭解當前業內最流行的產品的指南,也可以幫助你充分利用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傳統。通常來說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-us/services/container-service/

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

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的程式,開箱即用,提供了數百個外掛,可以與堆疊中的其他工具整合。該工具使你能夠快速配置構建代理,部署工件,然後快速拆除。

工具連結:https://jenkins-ci.org/

使用成本:免費

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/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是一個分散儲存解決方案,用於永續性,共享和複製捲;它可以大規模地自動部署和執行資料服務。

工具連結: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/getting-started/docker/

使用成本:免費

服務發現

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。大多數配置引數是可選的。

工具連結:https://gradle.org/

使用成本:免費

管理

52. Portainer

Portainer是Docker環境的開源輕量級管理使用者介面。Portainer在Docker API之上工作,並提供Docker的詳細概述。功能包括管理容器,影象,網路和捲的功能。

工具連結:https://portainer.io/

使用成本:免費

這是完整的清單!一如既往,Caylent渴望你對未來文章的反饋和建議。

原文連結:https://dzone.com/articles/50-useful-docker-tools

基於Kubernetes的容器雲平臺實踐培訓

本次培訓包含:Kubernetes核心概念;Kubernetes叢集的安裝配置、運維管理、架構規劃;Kubernetes元件、監控、網路;針對於Kubernetes API介面的二次開發;DevOps基本理念;微服務架構;微服務的容器化等。

點選閱讀原文連結即可報名。
贊(0)

分享創造快樂