十大正在快速演進的Docker項目

jopen 10年前發布 | 9K 次閱讀 Docker

  Docker 無疑是今年以來最火的開源技術,Docker 現在已經成為目前 IT 界創業者和創新者的寵兒。無論谷歌、微軟、亞馬遜、IBM 等科技廠商都積極支持 Docker 技術,Docker 雖然入門和使用起來非常簡單,但整個生態系統還是挺龐大的,而且其底層技術也都很復雜,目前基于 Docker 技術的項目如雨后春筍般出現,今天,筆者總結了目前正在快速演進的 Docker 相關技術,分享給大家。

  Kubernetes 

  在今年夏天 Dockercon 上 Google 基礎設施副總裁 Eric Brewer 宣布 Kubernetes,建于 Docker 之上的 Kubernetes 可以構建一個容器的調度服務,其目的是讓用戶透過 Kubernetes 集群來進行云端容器集群的管理,而無需用戶進行復雜的設置工作。系統會自動選取合適的工作節點來執行具體的容器集群調度處理工作。其核心概念是 Container Pod(容器倉)。

  Docker Pods

  跟 Kubernetes 密切相關,Eric Brewer 也談到了容器并且引入了“ pods ”的概念。這是一個在 Kubernetes 里面非常關鍵的概念。他說:“在谷歌,我們很少部署一個容器,相反,他們是將容器組合在一起。”

  他指出 Docker 容器需要一個內部和外部端口的常量映射,這是一個需要管理、存儲和查詢的復雜附加層——甚至在作為單一機組部署的 pod 容器之間。因此,在 Google,他們確保每個容器的 pod 都有自己的 IP 地址。這意味著使用的端口無論是內部和外部都是一樣的。這樣做去掉了管理端口的復雜附加層。現在,找到 pods 運行一個特定的服務,你只需要這些 pods 的 IP 地址列表。谷歌計算引擎是目前唯一的云基礎設施服務,幫助分配一個 IP 子網給虛擬機——因此在這里面每個 Docker pod 只有一個 IP。

  Weave 

  Weave 是由 Zett.io 公司開發的,它能夠創建一個虛擬網絡來連接部署在多臺主機上的 Docker 容器。通過 Weave 所有的容器就像被接入了同一個網絡交換機,那些使用網絡的應用程序不必去配置端口映射和鏈接等信息。外部設備能夠訪問 Weave 網絡上的應用程序容器所提供的服務,同時已有的內部系統也能夠暴露到應用程序容器上。Weave 能夠穿透防火墻并運行在部分連接的網絡上。另外,Weave 的通信支持加密,所以用戶可以從一個不受信任的網絡連接到主機。

  CoreOS

  CoreOS 是一種新的、架構體系重新設計的 Linux 發行版,可以運行在既有的硬件或者云上。CoreOS 使用 systemd 和 fleet 來對容器進行管理,通過 etcd 進行服務發現和配置信息共享。CoreOS 目前風頭正勁,目前已經獲得融資并宣布收購私有 Docker 倉庫服務商 Quay.io,進軍企業級的 Registry。另外,CoreOS 的 etcd 等組件也獲得了社區的認可,并得到了大規模使用。CoreOS 已經發布首個穩定版本,目前主流的云服務商都提供了對 CoreOS 的支持。

  Flannel 

  它是由 CoreOS 團隊針對 Kubernetes 設計的一個覆蓋網絡工具,其目的在于幫助每一個使用 Kuberentes 的 CoreOS 主機擁有一個完整的子網。Flannel 之前的名字是 Rudder,Kubernetes 會為每一個 POD 分配一個獨立的 IP 地址,這樣便于同一個 POD 中的 Containers 彼此連接,而之前的 CoreOS 并不具備這種能力。為了解決這一問題,Flannel 通過在集群中創建一個覆蓋網絡為主機設定一個子網。

  Docker For Windows

  最近,微軟加入了 Docker 的潮流,說他們打算為 Windows 建立一個集裝箱化解決方案并在之上提供一個與 Docker 兼容的 API。雖然,Docker 圖像在 Linux 和 Windows 容器之間永遠不可能便攜,但它的確意味著已經有一些可用的工具構建在 Docker API 層上。  

  Atomic

  Project Atomic 是最近才發布的一個項目,它也是一個瘦身版的 Linux,只包含 systemd/geard /rpm-OSTree 以及 Docker 組件,專門用來部署和管理 Docker 容器。它能在接近硬件裸機級別上高性能的運行大量容器,而且它還是基于 SELinux 的,在安全上也有保障。

  Cloud Foundry Diego

  ActiveState 的重點是開源 PaaS 項目。我們認為由 Diego 項目引起的 Docker 集成正促使生態系統往正確方向上前進。像 Kubernetes 一樣,Diego 是一個調度程序,同時,它主要與 Cloud Foundry 配合運行。我們也看到 Windows .NET 從 Uhuru 那里集成 Diego,對 Windows 來說 Docker 已成為現實,我相信我們將看到這些技術融合。

  Flynn

  Flynn 是一個使用 Go 語言編寫的開源 PaaS 平臺,Flynn 使用模塊化的設計,任何一個模塊都可以獨立的進行修改、升級和替換。Flynn 的目標是簡化分布式環境中應用的部署和維護,通過使用 git push命令,Flynn 就可以將應用部署到 Docker,從而省去了復雜的配置和操作。Flynn 目前仍在開發中,尚未發布穩定版,但已經獲得了很多公司的資助,它被稱為是下一代的開源 PaaS 平臺。

  Fig

  Fig 是一個基于 Docker 的用于快速搭建開發環境的工具,目前 Fig 團隊已經加入 Docker 公司。Fig 通過一個配置文件來管理多個 Docker 容器,非常適合組合使用多個容器進行開發的場景。Fig 可以和 Docker 一起來構建基于 Docker 的復雜應用,CoreOS 的功能強大但是配置比較復雜,而 Fig 相對而言比較簡單,但是很難在多臺服務器上做擴展,從 Docker 官方收購 Fig 也可以看到該項目的重要性。 

  參考譯文:5 Evolving Docker Technologies

來自: CSDN
                    <span id="shareA4" class="fl">                  
                        </span>
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!