Docker容器基礎介紹

1.docker簡介

1.什麼是docker

Docker是PaaS 提供商 dotCloud 開源的一個基於 LXC (LXC是Linux原生支持的容器技術,能夠提供輕量化的虛擬化,docker提供LXC的高級封裝,發展標準的配置方法)的高級容器引擎,源代碼託管在 Github 上, 基於go語言並聽從Apache2.0協議開源。Docker是經過內核虛擬化技術(namespace以及cgroups等)來提供容器的資源隔離與安全保障。因爲Docker經過操做系統層的虛擬化實現隔離,因此Docker容器在運行時,不須要相似虛擬機( VM)額外的操做系統開銷,提升資源利用率。git

Docker是使用Go語言編寫的一個程序運行、測試、交付的開放平臺,Docker被設計爲可以使你快速地交付應用。在Docker中,你能夠將你的程序分爲不一樣的基礎部分,對於每個基礎部分均可以當作一個應用程序來管理。Docker可以幫助你快速地測試、快速地編碼、快速地交付,而且縮短你從編碼到運行應用的週期。Docker使用輕量級的容器虛擬化平臺,而且結合工做流和工具,來幫助你管理、部署你的應用程序。Docker在其核心,Docker實現了讓幾乎任何程序均可以在一個安全、隔離的容器中運行。安全和隔離能夠使你能夠同時在機器上運行多個容器。Docker容器輕量級的特性,意味着能夠獲得更多的硬件性能。docker

2.Docker的組成

Docker 主機(Host):一個物理機或虛擬機,用於運行Docker服務進程和容器。ubuntu

Docker服務端(Server):Docker守護進程,運行docker容器。安全

Docker客戶端(Client):客戶端使用docker命令或其餘工具調用docker API。svn

Docker倉庫(Registry):保存鏡像的倉庫,相似於git或svn這樣的版本控制系統。工具

Docker鏡像(Images):鏡像能夠理解爲建立實例使用的模板。性能

Docker容器(Container):容器是從鏡像生成對外提供服務的一個或一組服務。測試

統一的官方倉庫:https://hub.docker.com/編碼

 

 

 

 Docker原理創建-->傳送-->運行spa

 經過Docker Hub或者本身的Docker倉庫分享Docker鏡像, 從Docker鏡像建立Docker容器, 在容器裏運行應用程序。

3.Docker鏡像是如何工做的


Docker鏡像是Docker容器運行時的只讀模板,每個鏡像由一系列的層(layers)組成;Docker使用UnionFS(聯合文件系統)來將這些層聯合到一二鏡像中,UnionFS文件系統容許獨立文件系統中的文件和文件夾(稱之爲分支)被透明覆蓋,造成一個單獨連貫的文件系統。

正由於有了這些層(layers)的存在,Docker纔會如此的輕量。當你改變了一個Docker鏡像,好比升級到某個程序到新的版本,一個新的層會被建立。所以,不用替換整個原先的鏡像或者從新創建(在使用虛擬機的時候你可能會這麼作),只是一個新的層被添加或升級了。因此你不用從新發布整個鏡像,只須要升級。層使得分發Docker鏡像變得簡單和快速。

每一個鏡像都是從一個基礎的鏡像開始的,好比ubuntu,一個基礎的Ubuntu鏡像,或者是Centos,一個基礎的Centos鏡像。你能夠使用你本身的鏡像做爲新鏡像的基礎,例如你有一個基礎的安裝了Nginx的鏡像,你能夠使用該鏡像來創建你的Web應用程序鏡像。(Docker一般從Docker Hub獲取基礎鏡像)

Docker鏡像從這些基礎的鏡像建立,經過一種簡單、具備描述性的步驟,咱們稱之爲 指令(instructions)。每個指令會在鏡像中建立一個新的層,指令能夠包含這些動做:

->  運行一個命令。
->  增長文件或者文件夾。
->  建立一個環境變量。
->  當運行容器的時候哪些程序會運行。
這些指令存儲在Dockerfile文件中。當你須要創建鏡像的時候,Docker能夠從Dockerfile中讀取這些指令而且運行,而後返回一個最終的鏡像。

 4.Docker倉庫的用處

Docker倉庫是Docker鏡像的存儲倉庫。能夠推送鏡像到Docker倉庫中,而後在Docker客戶端,能夠從Docker倉庫中搜索和拉取鏡像。

5.Docker容器是如何工做的

一個Docker容器包含了一個操做系統、用戶添加的文件和元數據(meta-data)。每一個容器都是從鏡像創建的,鏡像告訴Docker容器內包含了什麼,當容器啓動時運行什麼程序,還有許多配置數據。Docker鏡像是隻讀的,當Docker運行一個從鏡像創建的容器,它會在鏡像頂部添加一個可讀寫的層,應用程序能夠在這裏運行。

相關文章
相關標籤/搜索