傳送門:
Docker學(xué)習(xí)筆記(1)--Docker安裝(Ubuntu 16.04)
Docker學(xué)習(xí)筆記(2)--使用Docker Hub Mirror加速Docker官方鏡像下載
Docker學(xué)習(xí)筆記(3)--什么是Docker鏡像、容器和倉庫?
Docker學(xué)習(xí)筆記(4)--鏡像篇
Docker生命周期
Docker 包括三個基本概念:
鏡像(Image)
容器(Container)
倉庫(Repository)
這三部分組成了Docker的整個生命周期,如下圖所示,容器是由鏡像實例化而來的,這和我們學(xué)習(xí)的面向?qū)ο蟮母拍钍窒嗨疲覀兛梢园?code>鏡像想象成類,把容器想象成類經(jīng)過實例化后的對象,這樣就非常好理解鏡像和容器的關(guān)系了。

Docker鏡像
Docker的鏡像概念類似于虛擬機里的鏡像,是一個只讀的模板,一個獨立的文件系統(tǒng),包括運行容器所需的數(shù)據(jù),可以用來創(chuàng)建新的容器。
例如:一個鏡像可以包含一個完整的 ubuntu 操作系統(tǒng)環(huán)境,里面僅安裝了Mysql或用戶需要的其它應(yīng)用程序。
Docker的鏡像實際上由一層一層的文件系統(tǒng)組成,這種層級的文件系統(tǒng)被稱為UnionFS。鏡像可以基于Dockerfile構(gòu)建,Dockerfile是一個描述文件,里面包含若干條命令,每條命令都會對基礎(chǔ)文件系統(tǒng)創(chuàng)建新的層次結(jié)構(gòu)。
Docker 提供了一個很簡單的機制來創(chuàng)建鏡像或者更新現(xiàn)有的鏡像,用戶甚至可以直接從其他人那里下載一個已經(jīng)做好的鏡像來直接使用。
注:鏡像是只讀的,可以理解為靜態(tài)文件。
Docker容器
Docker 利用容器來運行應(yīng)用。
Docker容器是由Docker鏡像創(chuàng)建的運行實例。Docker容器類似虛擬機,可以支持的操作包括啟動,停止,刪除等。每個容器間是相互隔離的,容器中會運行特定的應(yīng)用,包含特定應(yīng)用的代碼及所需的依賴文件。
可以把容器看做是一個簡易版的 Linux 環(huán)境(包括root用戶權(quán)限、進程空間、用戶空間和網(wǎng)絡(luò)空間等)和運行在其中的應(yīng)用程序。
注:相對于鏡像來說容器是動態(tài)的,容器在啟動的時候創(chuàng)建一層可寫層作為最上層。
Docker倉庫
如果你使用過git和github就很容易理解Docker的倉庫概念。Docker 倉庫的概念跟Git 類似,注冊服務(wù)器可以理解為 GitHub 這樣的托管服務(wù)。
Docker 倉庫是用來包含鏡像的位置,Docker提供一個注冊服務(wù)器(Register)來保存多個倉庫,每個倉庫又可以包含多個具備不同tag的鏡像。Docker運行中使用的默認倉庫是 Docker Hub 公共倉庫。
倉庫支持的操作類似git,當用戶創(chuàng)建了自己的鏡像之后就可以使用 push 命令將它上傳到公有或者私有倉庫,這樣下次在另外一臺機器上使用這個鏡像時候,只需要從倉庫上 pull 下來就可以了。.
Reference
http://tech.365rili.com/?p=41
https://yeasy.gitbooks.io/docker_practice/content/index.html