讓Docker日臻完善的8個優秀工具
一眨眼,你可能錯過如今Docker領域最值得關注的動向之一。除了Docker本身的進步外,其他許多實用的專案都建立在Docker的基礎上,或者得到Docker的支援。在許多情況下,這些工具充分利用了Docker實現的工作流技術和部署策略。
下面這8個開源專案得益於Docker或者為Docker提供助益,將Docker用於特定用例或者讓Docker更易於使用。
1.Dusty
Dusty是一種基於Docker的、採用MIT許可證的開發環境,旨在改進使用Docker Compose或Vagrant來管理容器。比如說,Dusty背後的開發人員聲稱,Dusty的規範模式比Docker Compose更簡單;它在處理這個方面勝過Vagrant:基於版本來隔離應用程式依賴項和服務更新。Dusty還允許將測試建立為環境規範的一部分,因而常見的多步驟程式可進入到易於呼叫的指令碼中。
2.Gockerize
這個適合Go語言的愛好者。Gockerize是採用BSD許可證的工具,用於構建靜態的Go二進位制檔案,並將它們打包成極簡的Go容器。Gockerize由AeroFS背後的人員開發,包括這類功能:“能夠自動為Golang標準庫打一組補丁,雖然很少需要這項功能,卻能派上大用場,”據介紹該專案的博文聲稱。Gockerize並不過於依賴外部,只依賴Go、Docker 1.5或更高版本以及Bash外殼。
3.Hyper
Hyper被譽為是“與虛擬機器管理程式無關的工具,讓你可以在任何虛擬機器管理程式上執行Docker映象”,它使用Docker、QEMU和Xen來實現其目的。該工具的開發者聲稱,Hyper使用極少資源(28MB),以容器而不是虛擬機器的速度來啟動,提供高效能,併為應用程式提供硬體執行的隔離機制。Hyper的一種提議用例是,建立多租戶模式的、基於Docker的應用程式。
4.Docker Compose UI
Docker Compose UI是採用MIT許可證的專案,它為Docker Compose提供了基於Web的使用者介面(UI),是使用Python的Flask框架構建的。容器可在本地執行,也可在遠端主機上執行;Docker Compose UI本身在Docker容器中就有,以方便使用。請注意,“由於埠衝突”,Docker Compose UI附隨的一些演示專案無法擴充套件。
5.Kitematic
有時你只想要一個GUI。Kitematic為你提供了在MacOS、Ubuntu Linux和Windows上管理Docker容器的GUI。Kitematic的其他便利之處包括:藉助檔案系統,自動揭示容器卷資料,為Docker提供內建的CLI,並自動同步狀態以匹配針對Docker的更改(比如新增新的容器映象時)。
6.Logspout
Unix界有著將小程式結合起來解決大問題的悠久傳統。Logspout運用同樣的理念來管理來自Docker容器的日誌。Logspout將來自某個主機上所有容器的所有日誌(主要是stdout和stderr)彙集到你認為最合適的任何目標。只需讀取HTTP資料流,即可實時檢視生成的聚合日誌。
7.Elsy
Elsy被稱為是“一種自成一體的、多語言的構建工具”, 使用Docker和Docker Compose。 Elsy讓使用者可以跨環境一致地構建軟體倉庫,並儘量減少執行構建任務所需要的工具,無論使用哪種語言。一項大力宣傳的功能blackbox-test讓任何構建的容器能夠以體現在實際生產環境中使用的方式來加以測試。比如說,任何需要資料庫的服務都會搭建好的資料庫容器,用完後Elsy會自動拆除測試環境。
8.Habitus
另一個基於Docker的構建工具Habitus使用Dockerfile和build.yml檔案,來建立包含眾多任意命令的多步驟容器構建流程。可以做到構建流程的每個步驟依賴前面的某個步驟,確保任何棘手的多步驟依賴項都正常執行。Habitus還支援構建過程中新增祕密資訊,而且這麼做並不在映象中留下痕跡。
歡迎工作一到五年的Java工程師朋友們加入Java填坑之路:860113481
群內提供免費的Java架構學習資料(裡面有高可用、高併發、高效能及分散式、Jvm效能調優、Spring原始碼,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個知識點的架構資料)合理利用自己每一分每一秒的時間來學習提升自己,不要再用"沒有時間“來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己一個交代!