天天看點

Docker之1 入門簡介

什麼是Docker

Docker是一種容器技術,是用于在某種程度上替換系統虛拟化的解決方案。 使用Docker可以很快速及便捷的傳遞應用,不用在考慮硬體及系統的相容性,使而更關注與業務的發展。

Docker 和硬體虛拟化方式的差異在于Docker是在OS層面上實作虛拟化,而基于硬體虛拟化方式則是在HW層面實作。

Docker之1 入門簡介

P.S. 圖檔來自網絡

為什麼用docker

使用Docker可以更靈活的在開發流程中快速疊代的不停建立應用版本,而且便于在不同的環境(開發、生産、測試)中實作隔離,而且對于容器的建立是秒級的,高效的進行部署和擴容。

高效的部署和擴容

Docker可以運作于windows、linux、macos等,無論硬體層面是否存在差異都不影響對容器的遷移。對于容器的批量建立基本都是秒級别實作快速的大量容器建立,使用者可以通過腳本、配置中心等去實作不同環境的隔離和管理。

更高的資源使用率

Docker對于硬體資源的利用是複用Docker主機作業系統的,基本除了對容器運作的應用會消耗硬體資源、本身的容器系統所占用的硬體資源開銷是非常低的。對于容器來講,可以極高的利用到系統的硬體資源。

更簡單的管理

Docker定義了鏡像之後,可以依賴于配置中心、腳本等工具實作批量的程式配置更新,取代傳統的人工手動實作配置的修改或釋出。進而可以更加高效的實作自動化管理。

Docker服務架構

Docker引擎是一個Client/Server結構的應用,Client通過REST API與Server程序通信實作容器、鏡像、網絡、卷等資源的管理。

Docker之1 入門簡介

相關的資源概念

鏡像(image)

鏡像包含了系統及應用。對于使用者隻能在鏡像新增一個寫入層實作封裝,無法在原有鏡像直接寫入修改。使用者可以使用鏡像建立 Docker 容器。

倉庫(repository)

倉庫是用于鏡像檔案的托管。使用者可以使用倉庫對鏡像進行取出(pull)或者存入(push)及删除等操作的管理。

容器(container)

容器是用于運作應用的載體,并且容器是基于鏡像進行運作的,在運作中資料是相當于在鏡像的隻讀層上在加多了一層可寫層,使用者可以基于鏡像建立一個或多個容器。

資料卷(volumes)

資料卷是提供持久化資料的載體。在容器中,資料會随着容器的生命周期關閉而消失,但在資料卷中資料是持久化的。

網絡(network)

網絡(network)是為了實作容器間或容器與外接進行通信,Docker提供了6種網絡模式來解決不同場景下的連接配接方案,分别是bridge、host、overlay、macvlan、none、network plugin。

繼續閱讀