Docker學(xué)習(xí)筆記(3)--什么是Docker鏡像、容器和倉庫?

傳送門:
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鏡像

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載自 http://blog.opskumu.com/docker.html 一、Docker 簡介 Docke...
    極客圈閱讀 10,771評論 0 120
  • Docker — 云時代的程序分發(fā)方式 要說最近一年云計算業(yè)界有什么大事件?Google Compute Engi...
    ahohoho閱讀 15,874評論 15 147
  • 0. 前言 docker是什么?docker是用GO語言開發(fā)的應(yīng)用容器引擎,基于容器化,沙箱機制的應(yīng)用部署技術(shù)???..
    sessionboy閱讀 4,024評論 2 49
  • @拭目以待:首發(fā)于jasmine常用方法 整理一些jasmine 命令, 執(zhí)續(xù)更新 比較x和y是否相等 比較x和y...
    前端沐先生閱讀 899評論 0 1
  • 基本上很少寫過閱讀心得,平時也有稍微閱讀過一些書,但基本沒什么輸出,很多時候看過了也就忘了。但《解憂雜貨店》這本東...
    Dolphin_hjr閱讀 213評論 0 0

友情鏈接更多精彩內(nèi)容