Docker元件介紹及應用場景

2021-10-04 13:56:50 字數 2199 閱讀 4629

二、docker元件

三、docker的應用場景

四、docker的技術元件

docker是乙個能夠把開發的應用程式自動部署到容器的開源引擎。由docker 公司(www.docker.com 前 dotcloud 公司,paas市場中的老牌提供商)的團隊編寫,基於apache2.0開源授權協議發行。

docker在虛擬化的容器執行環境中增加了乙個應用程式部署引擎。該引擎的目標是提高乙個輕量,快速的環境,能夠執行開發者的程式,並方便高效的將程式從開發者的筆記本部署到測試環境,然後再部署到生產環境。

docker極其簡潔,它所需的全部環境只是一台僅僅安裝了相容版本的linux核心和二進位制檔案最小限的宿主機。

docker的目標就是提供乙個簡單,輕量的建模方式、職責的邏輯分離、快速高效的開發生命週期、鼓勵使用面向服務的架構。

docker上手非常快,使用者只需要幾分鐘就可以把自己的程式「docker化」。

docker依賴於「寫時複製」(copy-on-write)模型,使修改應用程式也非常迅速。

大多數docker容器只需不到1秒鐘即可啟動,由於去除了管理程式的開銷,docker容器擁有很高的效能,同時同一臺宿主機中也可以執行更多的容器,使使用者可以盡可能充分地利用系統資源。

使用docker,開發人員只需要關心容器中執行的應用程式,而運維人員只需要關心如何管理容器。docker設計的目的就是加強開發人員寫**的開發環境與應用程式要部署的生產環境的一致性。從而降低那種「開發時一切都正常,肯定是運維的問題」的風險。

docker的目標之一就是縮短**從開發測試到部署、上線執行的週期,讓你的應用程式具備可移植性、易於構建、並易於協作。

docker還鼓勵面向服務的架構和微服務架構」。docker推薦單個容器只執行乙個應用程式或程序,這樣就形成了乙個分布式的應用程式模型,在這種模型下,應用程式或服務都可以表示為一系列內部互聯的容器,從而使分布式部署應用程式,擴充套件或除錯應用程式都變得非常簡單,同時也提高了程式的內省性。

docker的核心元件包括:

docker是乙個客戶端-伺服器(c/s)架構的程式。docker客戶端只需向docker伺服器或守護程序發出請求,伺服器或守護程序將完成所有工作並返回結果。docker提供了乙個命令列工具docker以及一整套restful api。你可以在同一臺宿主機上執行docker守護程序和客戶端,也可以從本地的docker客戶端連線到執行在另一台宿主機上的遠端docker守護程序。下圖描繪了docker的架構。

映象是構建docker世界的基石。使用者基於映象來執行自己的容器。映象也是docker生命週期中的「構建」部分。映象是基於聯合(union)檔案系統的一種層式的結構,由一系列指令一步一步構建出來。例如:新增乙個檔案、執行乙個命令、開啟乙個埠。

也可以把映象當做容器的「源**」,映象體積很小,非常「便攜」,易於分享,儲存和更新。

docker用registry來儲存使用者構建的映象。registry分為公共和私有兩種。docker公司運營的公共registry叫做docker hub。使用者可以在docker hub註冊賬號,分享並儲存自己的映象。

docker可以幫你構建和部署容器,你只需要把自己的應用程式或服務打包放入容器即可。而容器是基於映象啟動起來的,容器中可以執行乙個或多個程序。我們可以認為,映象是docker生命週期中的構建和打包階段,而容器則是啟動或執行階段。

總的來說。docker容器就是:

docker借鑑了標準貨櫃的概念。標準貨櫃將貨物運往世界各地,docker 將這個模型運用到自己的設計哲學中,唯一不同是:貨櫃運輸貨物,而docker運輸軟體。

每個容器都包含乙個軟體映象,也就是容器的「貨物」,而且與真正的貨物一樣,容器裡的軟體映象可以進行一些操作。例如,映象可以被建立、啟動、關閉、重啟以及銷毀。

和貨櫃一樣,docker在執行上述操作時,並不關心容器中到底塞了什麼,docker並不關心裡面是web伺服器,還是資料庫,或者應用程式伺服器。所有容器都按照相同的方式將內容「裝載」進去。

使用docker,我們可以快速構建乙個應用程式伺服器,乙個訊息匯流排,一套實用工具,乙個持續整合測試環境或者任意一種應用程式,服務或工具。我們可以在本地構建乙個完整的測試環境,也可以為生產或開發快速賦值一套複雜的應用程式棧。可以說,docker的應用場景相當廣泛。

docker可以執行於任何安裝了現代linux核心的x64主機上

linux核心的命名空間,用於隔離檔案系統,程序和網路。

Docker的應用場景

docker是開發人員和系統管理員構建,發布和執行分布式應用程式的開放平台,可以在膝上型電腦 資料中心 虛擬機器還有雲伺服器上執行。下面將介紹使用docker工具來提高生產率的10種方法。你需要在本地系統上快速試用 magento 嗎?或者在專案中使用mysql?或者大多數的開源專案,那麼請使用do...

docker的應用場景

1.簡化配置 虛擬機器的最大好處是能在你的硬體設施上執行各種配置不一樣的平台 軟體,系統 docker在降低額外開銷的情況下提供了同樣的功能.它能讓你將執行環境和配置放在 彙總然後部署,同乙個docker的配置可以在不同的環境環境中使用,這樣就降低了硬體要求和應用環境之間耦合度.2.流水線管理 從開...

MOSS 應用場景介紹

最近總是看到很多人都在問 sharepoint究竟能作什麼?都用來作了什麼?微軟moss 經過多年發展,已經演化到2010版本了。這裡我把自己接觸到的moss的應用場景中的一部分說下,可能也不是很全,希望能給大家一些啟發,能激發出更好的想法,作為拋磚引玉。第一 自定義列表的應用 自定義列表因為非常靈...