10個開源工具讓Docker功能更強大

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

10個開源工具讓Docker功能更強大

軟件項目的成功常常根據其催生的生態系統來衡量。圍繞或基于核心技術構建的項目增添了功能和易用性,它們常常日臻完善。Docker就是一個典例,這個軟件容器化系統讓IT部門可以專注于應用程序、而不是虛擬機,作為生產的標準單位。

Docker一向備受第一方和第三方開發人員的關注,而眾多項目擴展、補充或改進Docker,卻沒有成為Docker的一部分。下面是如今正在開發中的10個最知名的項目,從長遠來看,有些項目有機會成為Docker的一部分。

Kubernetes

10個開源工具讓Docker功能更強大

談論第三方Docker項目自然少不了提到Kubernetes,這是谷歌開發的一款開源Docker管理工具,用于跨計算機集群部署容器。除了通 過讓集群上部署的容器保持均衡,從而有助于管理Docker節點的工作負載外,Kubernetes還提供了讓容器可以彼此聯系的方法,不需要開啟網絡端 口或執行其他操作。這些功能,加上Kubernetes用Go編寫的事實(Docker也用這種語言編寫),強烈表明它在未來某個時間會并入到 Docker。

項目:Kubernetes

GitHub:https://github.com/GoogleCloudPlatform/kubernetes

Dockersh

10個開源工具讓Docker功能更強大

如果你想讓用戶可以訪問外殼(shell),可是對由此帶來的安全后果有顧慮,Dockersh提供了一種Docker化的方式,為外殼會話提供高于平均水平的安全性。

Dockersh讓多個用戶可以連接到某個主機,每個用戶都運行自行選擇的單獨的Docker容器所生成的外殼。用戶可以查看其主目錄,并對主目錄 進行永久性更改,但他們只能看到自己的進程,而且只能使用自己的專用網絡堆棧。開發者擔心Dockersh里面的潛在安全漏洞,不建議它用于不受限制的公 眾訪問,至少在Docker以這種方式加以改進之前不建議這么做。而光這個概念就讓這個項目值得關注。

項目:Dockersh

GitHub:https://github.com/Yelp/dockersh

DockerUI

10個開源工具讓Docker功能更強大

雖然大多數開發人員和管理人員通過命令行來創建及運行Docker容器,但Docker的Remote API讓他們可以通過充分利用REST(代表性狀態傳輸協議)的API,運行相同的命令。這時,DockerUI有了用武之地。這個Web前端程序讓你可 以處理通常通過Web瀏覽器的命令行來管理的許多任務。某一個主機上的所有容器都可以通過僅僅一條連接來處理,該項目幾乎沒有任何依賴關系。不過,它仍在 大力開發之中,但是它采用麻省理工學院(MIT)許可證,所以可以免費地重復使用。此外,它不包含任何內置的身份驗證或安全機制,所以務必將任何公之于眾 的DockerUI連接放在用密碼來保護的系統后面。

項目:DockerUI

GitHub:https://github.com/crosbymichael/dockerui

Shipyard

10個開源工具讓Docker功能更強大

Shipyard使用Citadel集群管理工具包,簡化對橫跨多個主機的Docker容器集群進行管理。通過Web用戶界面,你可以大致瀏覽相關 信息,比如你的容器在使用多少處理器和內存資源、在運行哪些容器,還可以檢查所有集群上的事件日志。包含完整的API和命令行接口(CLI),而專門構建 的Docker鏡像(又叫擴展鏡像)可用來擴展Shipyard的功能。這后一個想法仍在開發之路,不過可以通過Interlock項目,獲得負載均衡/ 路由鏡像。

項目:Shipyard

GitHub:https://github.com/shipyard/shipyard

Kitematic

10個開源工具讓Docker功能更強大

許多項目旨在讓Docker成為基于OS X的編程員們手里一款實用的桌面環境開發工具,而Kitematic正是其中之一。它簡化了下載Docker鏡像、啟動這些鏡像以及管理它們的過程,讓這 項任務變得如同在VMware Workstation等應用程序中使用虛擬機一樣簡單。同一類別的其他項目包括:DVM、Docker OS X和OS X Installer,不過Kitematic很可能是這批項目中最完善的。唯一的重大缺點是,卸載過程有點錯綜復雜。

項目:Kitematic

GitHub:https://github.com/kitematic/kitematic

Logspout

10個開源工具讓Docker功能更強大

Docker還沒有提供一種方法來管理在Docker容器里面運行的程序所生成的日志。Logspout是一個Docker容器,大小僅14MB, 使用BusyBox作為其核心,它可以將來自容器應用程序的日志發送到某一個中央位置,比如單一JSON對象或者通過HTTP API可獲得的流式端點。就挖掘的信息方面而言,Logspout目前功能有限,因為它只能實現容器的標準輸出(stdout)和標準錯誤輸出 (stderr),不過已計劃一旦Docker提供相關鉤子(hook),就允許更全面的日志功能。將來應密切關注這個項目。

項目:Logspout

GitHub:https://github.com/progrium/logspout

Autodock

10個開源工具讓Docker功能更強大

Docker自動化工具可以說是個大眾化產品。畢竟,更容易自動化不是Docker的全部意義嗎?但Autodock卻憑借幾個不同之處脫穎而出。 它被設計成可在使用Salt和SaltStack作為主要自動化技術的環境中運行,它還經過了專門的設計,通過確定某一個Docker集群中哪些服務器擁 有的負載最小,以便盡快啟用新容器。一個可能存在的缺點是,讓它發揮功效需要好多基本組件(SaltStack、Golang、Etcd和 Python)。

項目:Autodock

GitHub:https://github.com/cholcombe973/autodock

DIND(Docker-in-Docker)

10個開源工具讓Docker功能更強大

Docker-in-Docker正如其名:這是讓你可以在Docker容器里面運行Docker的一種方式,在Docker 6.0中實現的方式是,為容器添加特權模式。

拋開噱頭和笑話不說,如果你想把Docker本身作為一項服務提供給Docker容器,這個工具很有用――比如說,如果你想試用某種自動化工具或方 法。請注意,Docker的“內部”實例是最新的Docker二進制代碼,構建時可以從docker.io來獲取。另外牢記一點:以這種方式運行的實例是 在特權模式下運行的;正因為如此,你將它們暴露在非Docker化的外界面前時,需要采取更多的防范措施。

項目:Docker-in-Docker

GitHub:https://github.com/jpetazzo/dind

Heroku-Docker

10個開源工具讓Docker功能更強大

Heroku曾是一種支持多種語言的出色的平臺即服務(PaaS),如今在一定程度上仍然是這樣,但Docker讓我們幾乎可以在任何地方從事類似 PaaS的工作。為此,對那些想方設法將現有的Heroku項目遷移到Docker,又無須從頭開始重新構建的人來說,這是個不二的選擇。這個簡單的小項 目拿來現有的Heroku應用程序后,可以從命令行將其轉換成Docker鏡像,執行整個操作只需要幾個命令就行。

項目:Heroku-Docker

GitHub:https://github.com/ddollar/heroku-docker

Docker Node Tester

10個開源工具讓Docker功能更強大

當你使用某一項最熱門的新IT技術作為另一項熱門的新IT技術的測試機制時,會使用什么?顯然是Docker Node Tester。DNT提供了一個測試平臺,Node.js項目針對Docker容器中多個版本的Node.js運行,然后以表格方式輸出結果。你還可以針 對最前沿版本的Node進行測試,無論是什么版本。請注意,不同版本的Node都是從源代碼構建的,這意味著你最后會得到Node整個源代碼樹的本地副 本;確保你有足夠的空間來存儲它。

項目:Docker Node Tester

GitHub:https://github.com/rvagg/dnt

英文:http://www.itworld.com/article/2841314/10-open-source-tools-to-make-docker-even-more-powerful.htm

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