摘要:鏡像鏡像是構建的基石。公司運營公共的叫做。標準集裝箱將貨物運往世界各地,將這個模型運用到自己的設計中,唯一不同的是集裝箱運輸貨物,而運輸軟件。這一點在面向服務的架構和重度依賴微型服務的部署由其實用。用創建隔離的環境來進行測試。
Docker特點
1)上手快
用戶只需要幾分鐘,就可以把自己的程序“Docker 化”。Docker 依賴于“寫時復制” (copy-on-write)模型,使修改應用程序也非常迅速,可以說達到“隨心所致,代碼即改” 的境界。
隨后,就可以創建容器來運行應用程序了。大多數 Docker 容器只需要不到 1 秒中即可 啟動。由于去除了管理程序的開銷,Docker 容器擁有很高的性能,同時同一臺宿主機中也 可以運行更多的容器,使用戶盡可能的充分利用系統資源。
2)職責的邏輯分類
使用 Docker,開發人員只需要關心容器中運行的應用程序,而運維人員只需要關心如 何管理容器。Docker 設計的目的就是要加強開發人員寫代碼的開發環境與應用程序要部署 的生產環境一致性。從而降低那種“開發時一切正常,肯定是運維的問題(測試環境都是正常的,上線后出了問題就歸結為肯定是運維的問題)”
3)快速高效的開發生命周期
Docker 的目標之一就是縮短代碼從開發、測試到部署、上線運行的周期,讓你的應用 程序具備可移植性,易于構建,并易于協作。(通俗一點說,Docker 就像一個盒子,里面 可以裝很多物件,如果需要這些物件的可以直接將該大盒子拿走,而不需要從該盒子中一件件的取。)
4)鼓勵使用面向服務的架構
Docker 還鼓勵面向服務的體系結構和微服務架構。Docker 推薦單個容器只運行一個應 用程序或進程,這樣就形成了一個分布式的應用程序模型,在這種模型下,應用程序或者服 務都可以表示為一系列內部互聯的容器,從而使分布式部署應用程序,擴展或調試應用程序 都變得非常簡單,同時也提高了程序的內省性。(當然,可以在一個容器中運行多個應用程序)
Docker組件
1)Docker 客戶端和服務器
Docker 是一個客戶端-服務器(C/S)架構程序。Docker 客戶端只需要向 Docker 服務器 或者守護進程發出請求,服務器或者守護進程將完成所有工作并返回結果。Docker 提供了 一個命令行工具 Docker 以及一整套 RESTful API。你可以在同一臺宿主機上運行 Docker 守護 進程和客戶端,也可以從本地的 Docker 客戶端連接到運行在另一臺宿主機上的遠程 Docker 守護進程。
2)Docker鏡像
鏡像是構建 Docker 的基石。用戶基于鏡像來運行自己的容器。鏡像也是 Docker 生命周 期中的“構建”部分。鏡像是基于聯合文件系統的一種層式結構,由一系列指令一步一步構 建出來。例如:
添加一個文件;
執行一個命令;
打開一個窗口。
也可以將鏡像當作容器的“源代碼”。鏡像體積很小,非常“便攜”,易于分享、存儲和更 新。
3)Registry(注冊中心)
Docker 用 Registry 來保存用戶構建的鏡像。Registry 分為公共和私有兩種。Docker 公司 運營公共的 Registry 叫做 Docker Hub。用戶可以在 Docker Hub 注冊賬號,分享并保存自己的 鏡像(說明:在 Docker Hub 下載鏡像巨慢,可以自己構建私有的 Registry)。
4)Docker容器
Docker 可以幫助你構建和部署容器,你只需要把自己的應用程序或者服務打包放進容 器即可。容器是基于鏡像啟動起來的,容器中可以運行一個或多個進程。我們可以認為,鏡 像是Docker生命周期中的構建或者打包階段,而容器則是啟動或者執行階段。 容器基于 鏡像啟動,一旦容器啟動完成后,我們就可以登錄到容器中安裝自己需要的軟件或者服務。
所以 Docker 容器就是: 一個鏡像格式; 一些列標準操作; 一個執行環境。
Docker 借鑒了標準集裝箱的概念。標準集裝箱將貨物運往世界各地,Docker 將這個模 型運用到自己的設計中,唯一不同的是:集裝箱運輸貨物,而 Docker 運輸軟件。
和集裝箱一樣,Docker 在執行上述操作時,并不關心容器中到底裝了什么,它不管是 web 服務器,還是數據庫,或者是應用程序服務器什么的。所有的容器都按照相同的方式將 內容“裝載”進去。
Docker 也不關心你要把容器運到何方:我們可以在自己的筆記本中構建容器,上傳到 Registry,然后下載到一個物理的或者虛擬的服務器來測試,在把容器部署到具體的主機中。 像標準集裝箱一樣,Docker 容器方便替換,可以疊加,易于分發,并且盡量通用。
使用 Docker,我們可以快速的構建一個應用程序服務器、一個消息總線、一套實用工 具、一個持續集成(CI)測試環境或者任意一種應用程序、服務或工具。我們可以在本地構 建一個完整的測試環境,也可以為生產或開發快速復制一套復雜的應用程序棧。
使用Docker做什么
容器提供了隔離性,結論是,容器可以為各種測試提供很好的沙盒環境。并且,容器本
身就具有“標準性”的特征,非常適合為服務創建構建塊。Docker 的一些應用場景如下:
加速本地開發和構建流程,使其更加高效、更加輕量化。本地開發人員可以構建、 運行并分享 Docker 容器。容器可以在開發環境中構建,然后輕松的提交到測試環境中,并 最終進入生產環境。
能夠讓獨立的服務或應用程序在不同的環境中,得到相同的運行結果。這一點在 面向服務的架構和重度依賴微型服務的部署由其實用。
用 Docker 創建隔離的環境來進行測試。例如,用 Jenkins CI 這樣的持續集成工具 啟動一個用于測試的容器。
Docker 可以讓開發者先在本機上構建一個復雜的程序或架構來進行測試,而不是 一開始就在生產環境部署、測試。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/42803.html
摘要:本文轉自劉斌博文如何選擇監控方案,文中劉斌從技術的角度深入解釋了監控的數據采集原理,介紹了現有開源的監控方案,以及能夠對進行監控功能的主流服務工具。下一章,劉斌將為大家介紹監控的開原方案,主流服務,及其特點。 過去的一年中,關于 Docker 的話題從未斷過,而如今,從嘗試 Docker 到最終決定使用 Docker 的轉化率依然在逐步升高,關于 Docker 的討論更是有增無減。另一...
摘要:是系統提供的容器化技術,簡稱,它結合和技術為用戶提供了更易用的接口來實現容器化。公司結合和以下列出的技術實現了容器引擎,相比于,具備更加全面的資源控制能力,是一種應用級別的容器引擎。 showImg(https://segmentfault.com/img/bVbtPbG?w=749&h=192); 題外話 最近對Docker和Kubernetes進行了一番學習,前兩天做了一次技術...
摘要:本篇文章將會結合網易云信的實踐經驗,以全局概述的方式帶大家認識點播私有化平臺構建的整體架構面貌。基于構建點播私有云平臺在具有以上優勢的同時,還具備資源彈性管理監控完善部署簡易自動化維護等特性。基于構建平臺,能夠自由管理創建云主機。 私有云是為一個客戶單獨使用而構建的,因而提供對數據、安全性和服務質量的最有效控制。前置條件是客戶擁有基礎設施,并可以使用基礎設施在其上部署應用程序。其核心屬...
摘要:本篇文章將會結合網易云信的實踐經驗,以全局概述的方式帶大家認識點播私有化平臺構建的整體架構面貌。基于構建點播私有云平臺在具有以上優勢的同時,還具備資源彈性管理監控完善部署簡易自動化維護等特性。基于構建平臺,能夠自由管理創建云主機。 私有云是為一個客戶單獨使用而構建的,因而提供對數據、安全性和服務質量的最有效控制。前置條件是客戶擁有基礎設施,并可以使用基礎設施在其上部署應用程序。其核心屬...
閱讀 2429·2021-09-01 10:41
閱讀 1450·2019-08-30 14:12
閱讀 517·2019-08-29 12:32
閱讀 2865·2019-08-29 12:25
閱讀 2939·2019-08-28 18:30
閱讀 1711·2019-08-26 11:47
閱讀 985·2019-08-26 10:35
閱讀 2594·2019-08-23 18:06