開源最前線(ID:OpenSourceTop) 猿妹整編
連結:https://dzone.com/articles/50-useful-docker-tools
容器生態系統的發展和擴充套件速度越來越快速,並且已經有了許多的Docker工具和服務,想要知道所有的有用選擇,你會發現基本很難完成。
無論您是初學者還是專家,開發人員或DevOps工程師,SRE或平臺架構師,此串列都將成為你所瞭解的最受歡迎的Docker工具,以幫助你在開發流程的每個階段充分利用Docker工具。
Docker工具類別串列:
● 編排和排程
● 持續整合/持續部署(CI / CD)
● 監控
● 記錄
● 安全
● 儲存/捲管理
● 聯網
● 服務發現
● 構建
● 管理
編排和排程程式
1、Kubernetes
Kubernetes是市場上現有的最受歡迎的容器編排引擎。最初作為Google專案開始,許多團隊使用它在生產中部署容器。谷歌每週使用Kubernetes執行數十億個容器。
Kubernetes 可以自動在一個容器叢集中選擇一個工作容器供使用。其核心概念是 Container Pod。
連結:https ://kubernetes.io
2、Docker Swarm
Swarm是一個Web應用程式開發框架,它允許程式分佈在多臺計算機,從某種程度上讓程式對程式員完全透明。Swarm從版本1.12.0開始包含在Docker Engine中,具備諸如負載平衡,擴充套件和安全性等高階功能。
Swarm延續了Docker註重簡潔性和開發人員體驗的優良特性。它可以說比開箱即用的Kubernetes更容易使用。
連結:https ://www.docker.com
3、Mesosphere DC / OS
Mesosphere 資料中心作業系統(DC / OS)是一個整合的開源平臺,用於構建Apache Mesos分散式系統核心上的資料和容器。無論在雲中或使用內部部署軟體,它旨在將資料中心內的多臺計算機視為一個或多個叢集,DC / OS可輕鬆的部署和執行有狀態和無狀態的容器、大資料以及傳統應用。
連結:https://dcos.io/
4、Amazon ECS
Amazon Web Services是對容器編排的答覆,Amazon ECS是一種高度可擴充套件的管理服務,允許開發人員在EC2實體上執行容器化應用程式。它由多個內建元件組成,可以簡單地排程和部署Docker叢集,任務和服務。
連結:https ://aws.amazon.com/ecs/
成本: Amazon ECS無需額外費用。僅為儲存和執行應用程式所需的AWS資源(例如EC2實體或EBS捲)付費。
5、 Azure容器服務(AKS)
最近,從Azure更名為AKS,Azure的服務是一種開源管理服務,它提供了建立,配置和管理虛擬機器齊群。AKS提供在 Microsoft Azure 上部署和管理基於容器的應用程式。使用 Azure 容器服務時,可利用 Azure 的企業級功能,並且仍可透過 Kubernetes 以及 Docker 映像格式保留應用程式的可移植性。
連結:https://azure.microsoft.com/en-us/services/container-service/
成本:僅支付虛擬機器以及使用的相關儲存和網路資源。
6、Cloud Foundry’s Diego
Cloud Foundry使用其Diego架構來管理“garden”環境中的應用程式容器。Garden遵循Linux的Open Container Initiative容器指南,並透過Diego的其他元件進行抽象。Diego元素透過Cloud Controller提供應用程式排程和管理功能。
連結:https://docs.cloudfoundry.org/concepts/diego
成本:免費
7、Marathon
Marathon是基於Apache Mesos構建的私有生產級平臺即服務(PaaS)。Marathon框架承諾擴充套件Dockerized應用程式,併在必要時擴充套件到更多節點以增加可用資源池。它還可以充當容器編排工具,為容器化工作負載提供故障恢復。Marathon自動處理硬體或軟體故障,並確保應用程式“始終開啟”。
連結:https://mesosphere.github.io/marathon/
成本:免費
8、HashiCorp Nomad
在Linux,Mac和Windows的支援下,Nomad是一個叢集管理器和排程器,專為微服務和批次處理工作流設計。可以拓展到跨資料中心和區域的數千個節點。Nomad 支援在所有主流作業系統執行虛擬化,容器化或者是獨立的應用,靈活的支援廣泛的工作流負載。
連結:https://www.nomadproject.io/
成本:免費
9、Helios
Helios最初是Spotify的內部工具,能夠讓數百個微服務在數千臺伺服器上有效工作。它能夠大規模部署和管理容器,並且配備了基於HTTP的API以及命令列客戶端。
Helios只需要在工具執行的機器上使用ZooKeeper叢集和JVM。
連結:https://github.com/spotify/helios
成本:免費
10、Rancher
Rancher不僅僅是一個容器協調器,而是一個全方位的容器管理平臺,用於在產品環境中執行Docker。RancherOS是一種基於容器的作業系統(OS),能夠提供許多基礎架構服務,例如全域性和本地負載平衡,多主機網路和捲快照等。Rancher還集成了Docker Machine和Docker Swarm等原生Docker管理能力。
連結:http://rancher.com/
成本:免費
11、Nebula
Nebula是一個為Docker編排建立的新開源專案,旨在管理大規模叢集。該工具透過根據需要縮小每個專案元件來實現。標的是充當物聯網裝置的Docker協調器以及CDN或邊緣計算等分散式服務。Nebula能夠透過單個API呼叫同時更新全球數以萬計的物聯網裝置。Nebula旨在幫助開發者和作業系統像分散式Dockerized應用程式一樣處理物聯網裝置。
連結:http://nebula.readthedocs.io/en/latest/
成本:免費
持續整合/持續部署(CI / CD)
12、Jenkins
Jenkins是一個領先的CI工具,它使開發和運營團隊能夠持續、自動地構建/測試軟體專案。Jenkins是一個基於Java的獨立程式,開箱即用,提供數百個外掛,旨在與堆疊中的其他工具整合。該工具使開發者能夠快速配置構建,部署,然後快速拆除。
成本:免費
13、CircleCI
CircleCI承諾幫助軟體團隊專註於為客戶提供價值,而不是維護CI基礎架構。CircleCI使CI過程更快捷,更簡單,從而提高了IT團隊的工作效率。它可以快速整合,並允許使用者在註冊後立即構建和部署。透過SSH手動除錯,併在開始專案時同時動態縮放容器數量。
連結:https://circleci.com/
費用:第一個容器是免費的;開源專案+3免費;額外的容器每月50美元(每個容器)
14、Travis CI
作為一個免費的開源CI專案,Travis CI透過自動構建和測試程式碼更改來提高開發過程的效率。而軟體即服務(Saas)平臺能夠提供有關程式碼更改成功的即時反饋。Travis CI還能夠透過管理部署和通知來自動化開發過程。
連結:https://travis-ci.org/
成本:免費
15、GitLab CI
GitLab結合了CI,CD和程式碼審查來處理整個應用程式生命週期。它與Docker Engine上的GitLab runner同時使用,可實現自動化測試和應用程式構建。其他功能包括活動流,IDE,問題跟蹤和儲存庫管理。GitLab CI還有一個內建的容器登錄檔來掃描和儲存Docker儲存庫。
連結:https://about.gitlab.com/features/gitlab-ci-cd/
成本:社群版:免費,無限制的使用者
企業版入門:3.25美元/使用者/月
企業版Premium:16.59美元/使用者/月
16、 Wercker
Docker原生CI和CD自動化平臺,旨在幫助軟體開發人員構建和部署他們的應用程式和複雜的微服務架構。Wercker與Kubernetes本地整合,可自動完成部署工作流程,因此您可以專註於構建應用程式。
連結:http://www.wercker.com/
費用:社群版:免費;虛擬專用管道:每月350美元起
17、Prometheus
Prometheus由SoundCloud開發,是一個開源的服務監控系統和警報工具包。它結合了監控的許多方面,例如度量生成和收集,視覺化資料展示以及異常發生時的警報功能。Prometheus擅長記錄數字時間序列,並提供各種客戶端開發庫
連結:https://prometheus.io/
成本:免費
18、Sysdig
Sysdig開源是所有Sysdig產品的核心技術。開源工具旨在捕捉系統狀態資訊,提供單個系統的詳細故障排除,提供命令列藉口以及強大的互動介面。
連結:https://www.sysdig.org/
成本:開源:免費
基本:每月20美元
Pro Cloud:每月30美元
專業軟體:變化
19、 cAdvisor
Google的cAdvisor(Container Advisor)是一種監控解決方案,可分析執行中Docker容器的所有效能特性和資源使用情況。該工具能夠收集處理並匯出容器指標,例如網路統計資訊,資源引數以及資源使用情況的完整歷史記錄。
連結:https://github.com/google/cadvisor
成本:免費
記錄
20、 Logspout
Logspout是一個很好的Docker工具,可以幫助管理在Docker容器中執行的程式生成的日誌。它將容器應用程式日誌傳送到某個中央位置。Logspout還有一個可擴充套件的模組系統。
連結:https://github.com/gliderlabs/logspout
成本:免費
21、Fluentd
Fluentd作為一個開源資料收集器 – 一個用於統一和記錄所有其他容器日誌的工具。有500多個外掛,Fluentd連線到許多資料源和資料輸出以收集事件; 這些被標記為在需要的地方路由它們。這種基於標記的路由可以清晰地表達複雜的路由。
連結:https://www.fluentd.org/
成本:免費
22、 Logstash
作為Elastic Stack的一部分,Logstash與Beats,Elasticsearch和Kibana一起執行良好。它是一個應用程式日誌,用於傳輸和處理你的日誌,事件或其他資料。
連結:https://www.elastic.co/products/logstash
成本:免費
23. syslog-ng
使用syslog-ng能夠進行基於內容和優先權/facility的過濾,是一個值得信賴的日誌管理基礎架構,它將高效能功能與豐富的訊息解析和重寫完美結合在一起。
連結:https://syslog-ng.org/
費用:免費(可根據要求提供syslog-ng Premium Edition的定價)
安全
24、Clair
Clair是一個開源專案,旨在識別和分析Docker和appc應用程式容器中的漏洞。它提供一個能威脅容器漏洞的串列,定期提取新的容器漏洞資料,以識別容器映像中的威脅,包括上游的威脅。
連結:https://coreos.com/clair/docs/latest/
成本:免費
25、Docker Bench for Security
Docker Bench for Security是一個預構建的打包容器,可以在任何Docker主機上執行。它是一組Bash shell指令碼,應該以root使用者身份執行。是一個用來檢測 CIS Docker 1.6 Benchmark 所有自動化測試的指令碼。
連結:https://hub.docker.com/r/docker/docker-bench-security/
成本:免費
26、 Docker Notary
Notary是一個開源的Docker專案,它旨在保證資料集合的安全。用於執行和受新人的集合進行互動。對已釋出的集合進行數字簽名,並允許使用者驗證內容的完整性和來源。
連結:https://github.com/docker/notary
成本:免費
儲存/捲管理
27、convoy
Rancher是一個開源專案,提供了在產品環境中對 Docker 容器進行全方位管理的平臺。Convoy是一個開源的Docker捲驅動程式,可以在任何地方對Docker捲進行備份和恢復。在AWS上建立Docker捲,受Elastic Block Store的所有功能和效能支援。此外,獲取現有EBS捲並使用它生成附加到Docker容器的捲。
連結:https://github.com/rancher/convoy
成本:免費
28、Portworx
Portworx是一種用於持久,共享和複製捲的分散式儲存解決方案; 它可以大規模自動化資料服務的部署和運營。
連結:https://portworx.com/
成本:免費
29、Blockbridge
Blockbridge Volume Plugin為容器應用程式提供高效能儲存,具有高階安全性,移動性,備份和還原功能。透過Docker 1.13+的“Managed Docker Plugin”,Docker本身可以完成安裝和生命週期管理。
連結:http://www.blockbridge.com/
成本:免費
聯網
30、flannel
flannel是專為Kubernetes設計的,它是一種透過在叢集中的多個節點之間使用第3層IPv4網路來配置安全網路結構的簡單方法。它不控制容器如何與主機平臺聯網,只控制如何在主機之間傳輸流量。
連結:https://coreos.com/flannel/docs/latest/
成本:免費
31、Calico專案
作為一個高度可擴充套件的開源專案,Calico是純三層的SDN實現,可以支援許多計算主機上的大量虛擬機器群集。該工具的簡化網路模型設計支援為每個工作負載配置細粒度連線策略,並允許集中管理SDN。
連結:https://www.projectcalico.org/getting-started/docker/
成本:免費
服務發現
32、Consul
Consul是一種易於使用,基於開放標準的服務發現方法,可在FreeBSD,Linux,Mac OS X,Solaris和Windows上執行。Consul具有多資料中心感知功能,可為多個區域提供支援,無需複雜配置。主要功能包括:服務發現,健康檢查和鍵/值儲存等。
連結:https://www.consul.io/
成本:免費
33、Etcd
etcd由CoreOS建立,是一個高度可用的鍵值儲存系統,專為共享配置和服務發現而設計。該工具提供了一種在一組機器上儲存資料的可靠方法。它專為執行CoreOS的叢集而構建,但etcd也適用於其他作業系統,包括BSD,Linux和OS X.
連結:https://coreos.com/etcd/
成本:免費
34、Factorish
Factorish建立了一個簡單易用的輕量級(<30mb)容器代理。該工具基於alpine / gliderlabs,nginx作為HTTP負載均衡器執行。
連結:https://hub.docker.com/r/factorish/proxy/
成本:免費
構建
35、Packer
Packer是一個Hashicorp工具,用於構建機器映像(包括Docker),並與Ansible,Chef和Puppet等配置管理工具整合。它是一個輕量級工具,可以從單一配置來源為多平臺建立相同的機器映像。
連結:https://www.packer.io/docs/builders/docker.html
成本:免費
36、 Whales
使用Whales自動將你的應用程式Dockerize。唯一需要的是在主機上安裝並執行Docker。然後,Whales透過輸出必要的檔案來執行Docker的應用程式。
成本:免費
37、Gradle
Gradle外掛使所有構建指令碼都可以與Docker守護程式進行通訊。每個任務都委託給Docker客戶端,然後透過HTTP連線到Docker的遠端API。大多數配置引數是可選的。
成本:免費
管理
38、Portainer
Portainer是Docker環境的開源輕量級的管理UI。Portainer在Docker API之上工作,輕鬆管理不同的Docker環境。功能包括管理容器,影象,網路和捲的功能。
連結:https://portainer.io/
成本:免費
●編號191,輸入編號直達本文
●輸入m獲取文章目錄