50+ 實用的 Docker 工具推薦

類別: IT
標籤: docker

容器生態系統比以往任何時候都發展更快,擴充更迅速,與此同時,還出現了很多 Docker 工具和服務,僅僅是理解現有的這些選項,都是一項令人畏懼的任務。不管你是初學者還是專家,是開發者還是持續整合工程師,SRE 還是平臺架構師,這份列表都將是你的指南,幫助你理解最受歡迎的產品,並在每一個相應開發階段優化對接 Docker。

Docker 工具分類列表

  • 編排和定時任務

  • 持續整合/持續開發 (CI/CD)

  • 監控

  • 日誌

  • 安全

  • 儲存/卷管理

  • 網路

  • 服務發現

  • 編譯

  • 管理

編排和排程

1. Kubernetes

Kubernetes 是目前市場上可用的容器編排引擎中最受歡迎的一個。最初開始於一個谷歌專案,然後有上千團隊用它在生產環境上部署容器。谷歌宣稱每週使用 Kubernetes 執行數十億的容器。

該工具的工作原理是,把構成應用的容器分組為更容易管理和發現的邏輯單元。

連結: https://kubernetes.io

費用:免費

2. Docker Swarm

Swarm 是 Docker 提供的關於在很多伺服器上如何編排和排程容器問題的一個解決方案。Swarm 被包含在 1.12.0 版本之後的 Docker Engine 中,提供一些高階特性,例如:服務發現,負載均衡,伸縮能力和安全性。

Swarm 將繼續 Docker 的傳統:關注簡單化和開發者體驗。可以說,它比 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

作為亞馬遜 web 服務的容器編排解決方案,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(AKS)

一種專門用在 Azure 虛擬機器上的管理服務(開源),提供必要的工具去建立、配置和管理基於 Docker 容器的基礎設施。ACS 簡化了基於容器的開發和支援 K8S,Mesospere DC/OS 或 Swarm 的部署。

使用應用管理工具去管理和編排,使用標準化的 API 接入。

連結:https://azure.microsoft.com/en-us/services/container-service/

費用:只為使用的虛擬機器及相關的儲存和網路資源付費

6、Google Container Engine(GKE)

基於 K8S 的 GKE 可以部署,管理及伸縮執行在谷歌雲上的容器化應用。GKE 的目標是通過提升容器的管理能力去優化IT團隊的生產力。GKS 通過良好的使用者體驗和直觀的命令列工具隱去眾多簡單或者複雜的管理任務。

GKS 基 於K8S。使用 GKE,無需學習 K8S, 理解 K8S 的基本概念,將有助於 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


Nomad 是一款能夠排程所有虛擬化,容器化和獨立應用程式的獨立二進位制工具,支援 Linux、Mac 和 Windows 。 從單個容器到數千個群體,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 是一個基於容器的作業系統,它能提供很多基礎設施服務,例如:全域性和本地的負載均衡,多主機網路,磁碟卷快照等等。Rancher 也整合了原生的 Docker 管理能力,例如:Docker Machine 和 Swarm 。

連結:http://rancher.com/

是否收費:免費

12. Nebula

Nebula 是為 Docker 的編排而生的全新的開源專案,它被設計用來管理大量規模化叢集場景。這個工具是通過根據需要橫向擴充套件專案元件來達到這一目標。專案目標是要實現對物聯網裝置的 Docker 編排,就像對 CDN 或者邊緣計算等分散式服務的編排一樣好。Nebula 能夠通過呼叫一個 API 實現同時對上萬個遍佈全球的物聯網裝置的更新。Bebula 目標是要幫助開發人員和運維人員能夠簡化處理物聯網裝置,就像處理分散式 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

使用 Shippable 加快軟體交付; 作為開發人員提供的 SaaS 平臺,它大大縮短了構建、測試和部署程式碼到生產所需的時間。Shippable 被設計成一個一站式的自動化平臺,通過提供完整的工作流可視性實現了 DevOps 的實踐和優化創新。簡單的即插即用介面意味著可以與許多其他應用程式框架和技術棧輕鬆整合。

連結: https://www.shippable.com/

費用:

  • 免費: c4.large節點,無構建次數限制,1個併發作業

  • 每月$25/75/150: c4 large/xlarge/2xlarge節點,每個併發作業

  • 企業級外掛支援: 每月$500起

50+ 實用的 Docker 工具推薦原文請看這裡