摘要:的主要目標是與彼此協作并且提供兩者之間無縫對接體驗。中通過組件或事件之間的交互產生的中間對象。將被處理并導致應用數據的改變。例如,有一個對象與進行交互。
介紹
Kitematic是一個 Docker GUI 工具,它可以在 Mac 和Windows上更快速、更簡單的運行Docker。Docker官方表示,Kitematic是其生態系統中成長起來的一個非常棒的項目。
Kitematic簡化了安裝本地Docker環境并提供一個GUI來pull、 build 和run容器。如果你還沒有試過,你可以下載Kitematic 試用下。
Kitematic的主要目標是與DockerCLI彼此協作并且提供兩者之間無縫對接體驗。例如,一個用戶可能運行下面的命令在Docker客戶端啟動一個容器:docker run hello-world ,并且在Kitematic觀察結果,反之亦然。進一步說,我們的目標是與其他Docker工具一起開箱即用,如Docker Compose。
舉個例子,如果我們通過命令行刪除一個容器,Kitematic將立即反映這種變化:
應用程序架構:React 和FluxKitematic完全用JavaScript編寫的。在考慮不同的架構設計和框架之后,我們最終的架構靈感來自Facebook的Flux。Kitematic的總體架構如下圖所示:
Stores: 真實數據的來源并且需要邏輯來管理這些數據。
Components: 在React中執行,負責stores中數據的呈現和捕捉用戶輸入的數據。
Actions: Docker Remote API中通過組件或事件之間的交互產生的中間對象。Actions將被stores處理并導致應用數據的改變。
Utils: 這不是一個標準Flux實現的一部分,但是通過actions與外部服務進行交互。例如,Kitematic 有一個DockerUtil對象與Docker Engine Remote API進行交互。
當一個容器通過客戶端被刪除,將會發生以下情況:Docker Engine產生destroy event
這個事件反過來觸發一個容器destroyed action
Subscribing to container actions,ContainerStore,負責存儲容器數據,從它內部的容器列表更新刪除破壞掉的容器數據。
UI組件負責列表容器,ContainerList組件相應的重新呈現。
The Code:Propagating Docker Engine Events to Kitematic GUI讓我們深入不同部分的代碼庫來了解一下是怎么實現的,下文我們做了簡化。
1.從Docker Remote API Events觸發操作使用dockerode庫,監聽Docker Remote API很簡單。在這種情況下,如果一個事件接收到狀態遭到破壞,就會創建一個動作通知相關stores更新其內部數據:
2.更新Container StoreContainerStore對象執行一個處理任何破壞掉的容器操作,更新其內部數據,通知所有監聽組件重新呈現。
3.在ContainerList React Component觸發更新Kitematic中的高級Containers React組件監聽ContainerStore發出的更新,在這種情況下,當ContainerStore發出更新,負責呈現容器的簡單列表的ContainerList也隨著更新的容器數據呈現。
ContainerList.react.js
總結回顧一下,這篇文章解釋了Kitematic 如何通過DockerCLI或任何集成Docker Engine.的工具,利用Docker Remote API、 React 和Flux 來實現實時更新。記得現在就下載Kitematic試用并反饋給我們。(本文編譯自Docker博客)
時速云 輕量級容器云平臺文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/26456.html
摘要:自從微軟和宣布合作以來,微軟一直在容器上面的戰略可謂穩扎穩打。最近,微軟加入,并作為創始成員承諾支持常見容器的格式和運行。這種定位導致大家對于微軟容器戰略的認識模糊。微軟的容器策略并不是可移植性說的直白一點。 自從微軟和Docker宣布合作以來,微軟Redmond一直在容器上面的戰略可謂穩扎穩打。最近,微軟加入Open Container Initiative (OCI),并作為創始成...
摘要:源碼走讀在運行時發生了什么標簽空格分隔原文作者是,原文地址是在這篇博文中我將回答一下問題運行一個期間內部發生了什么開始首先從并檢查代碼。這個發生在和行之間。如果一個錯誤發生,它會被記錄,然后程序退出。這些覆蓋了在客戶端里面發生了什么。 Docker 源碼走讀 - 在運行 Docker run 時發生了什么? 標簽(空格分隔): Docker 原文作者是 Frank Scho...
摘要:棋類游戲和電子游戲通常都會有定義明確的回饋函數,這使得用增強學習算法來直接進行優化成為可能。增強學習算法或智能體的目標是通過與任務或者環境進行互動,學會執行復雜的新穎的任務。使得增強學習算法和環境的開放與測試變得更加簡便了。 機器學習的進步由多個領域的創新和創意驅動。從人類學習事物的方式獲得啟發,增強學習(RL)指的是系列算法,能夠通過試錯的回饋來進行提升,可以進一步優化未來的表現。?棋類游...
摘要:采用混合云存儲,災難恢復能夠達到秒級還是分鐘級關鍵還要看帶寬。經測試,采用混合云進行分級存儲,在非實時高可用場景下,存儲成本可降低在使用歸檔存儲的情況下,成本僅為獨立建設災備集群的成本的五分之一。人人都說,混合云/多云是未來。IDC曾預測,2018年,85%以上的大型企業都將采用混合云。RightScale發布的2018年云計算調查報告也顯示出同樣的趨勢,81%的企業都有一個多云策略,其中又...
摘要:在全面兼容Apache Kafka生態的基礎上,消息隊列Kafka徹底解決ApacheKafka穩定性不足的長期痛點,并且支持消息無縫遷移到云上。 近日,阿里云宣布正式推出消息隊列Kafka,全面融合開源生態。在全面兼容Apache Kafka生態的基礎上,消息隊列Kafka還具備了超易用,超高可用可靠性,擴縮容不操心,全方位安全診斷,數據安全有保障的特點??捎眯羞_99.9%,數據可靠行99...
閱讀 3888·2021-09-10 11:22
閱讀 2360·2021-09-03 10:30
閱讀 3675·2019-08-30 15:55
閱讀 1912·2019-08-30 15:44
閱讀 853·2019-08-30 15:44
閱讀 598·2019-08-30 14:04
閱讀 3052·2019-08-29 17:18
閱讀 1276·2019-08-29 15:04