Docker | Docker技術基礎梳理(四) - 深入理解映象與容器
容器與映象的關係
在實際操作中,我們配置好需要的容器之後可以將它轉化為映象提交到倉庫,以便之後使用。
先看一下容器與映象的轉換關係圖:
容器提交(docker commit)
根據容器生成一個新的映象
命令格式:docker commit [引數] 容器[版本]
常用引數:
-a 新增作者
-c 為建立的映象加入Dockerfile命令
-m 類似git commit -m
-p 提交時暫停容器
容器匯出(docker export)
將當前容器匯出為TAR檔案
命令格式:docker export [引數] 容器
常用引數:-o 指定寫入的檔案
容器匯入(docker import)
將之前匯出的容器檔案匯入並建立為一個映象
命令格式:docker import [引數] 檔案|連結|[版本資訊]
常用引數:
-m 匯入時新增提交資訊
-c 為建立的映象加入Dockerfile命令
docker import 與 docker commit 的區別
當你使用docker import 時,匯入的映象是一個全新映象,是無法使用docker history檢視到映象的歷史資訊,使用docker commit 匯入時,生成的映象可以使用docker history檢視到映象的歷史資訊的。
深入理解Docker容器和映象
在docker文章的第一篇,我和大家簡單的比喻了映象和容器的關係,有位讀者就這個問題和我討論了一番,這裡就這個問題做一個簡單的描述,深入理解下映象和容器。
在映象層面上:
當我們檢視映象詳細資訊時,可以看到以下資訊:
這裡的Layers指的就是一個個只讀的檔案系統,映象就是由這樣一個個檔案系統組成的,我們把映象執行起來就會成為一個個容器,當我們在容器中做了修改並commit為映象後,就會不斷在原有的Layers層上新增一個Layer層,就像下面看到的這樣。
所以當我們commit後,我們看到的映象就是最上層的Layer。
在容器層面上:
當我們使用docker create [image id]
用指定映象建立容器時,可以理解為在映象的最上層建立了一個可讀可寫的Layer,當我們修改完,使用commit提交後,這個容器的可讀可寫的Layer層就會轉化為映象的只讀的Layer層。
而當我們使用docker inspect
檢視容器的時候只能檢視到最上層容器的資訊而無法檢視到像映象那樣的Layers,這是因為在容器的視角中Layer層是這樣的:
當容器中有程式執行時:
容器內部是這樣的:
總結
關於深入理解映象和容器的部分,如若有理解錯誤的地方希望大家指正,這一部分有些抽象大家可以結合實際操作加深理解,也歡迎各路大佬一起交流探討。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31556785/viewspace-2565389/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Docker | Docker技術基礎梳理(二) - 映象管理Docker
- Docker | Docker技術基礎梳理(三) - 容器生命週期管理Docker
- Docker | Docker技術基礎梳理(一)Docker
- Docker | Docker技術基礎梳理(五) - Docker網路管理Docker
- 容器技術之Docker映象Docker
- 容器技術之Docker基礎入門Docker
- Docker容器技術與Docker介紹Docker
- Docker 基礎-映象&容器&網路&儲存Docker
- Docker容器學習梳理 - 基礎知識(2)Docker
- Docker容器學習梳理–基礎知識(2)Docker
- Docker容器學習梳理 - 基礎知識(1)Docker
- 容器技術之Docker私有映象倉庫docker-distributionDocker
- Docker容器學習梳理 - Dockerfile構建映象Docker
- docker容器技術基礎之linux cgroup、namespaceDockerLinuxnamespace
- Docker基礎:查詢映象和執行容器Docker
- 容器技術之Docker私有映象倉庫harborDocker
- 【Docker】(9)---每天5分鐘玩轉 Docker 容器技術之映象Docker
- Docker容器學習梳理 - 基礎環境安裝Docker
- 【Docker】Docker基礎-埠對映與容器互聯Docker
- 【docker專欄3】docker基礎概念-容器、映象以及引擎組成部分Docker
- 『現學現忘』Docker基礎 — 26、Docker映象分層的理解Docker
- Docker容器與虛擬化技術:OpenEuler 部署 docker容器應用Docker
- Docker--容器技術Docker
- docker容器技術原理Docker
- docker容器與映象的區別Docker
- Docker——理解好映象和容器的關係Docker
- docker容器技術基礎之聯合檔案系統OverlayFSDocker
- 每天5分鐘玩轉Docker容器技術(四)Docker
- 實踐:Docker容器與映象管理Docker
- Docker 技術基礎之 CGroupsDocker
- Docker 匯出容器 / 映象Docker
- Docker_03 映象-基礎操作Docker
- 深入瞭解 Docker:革命性的容器化技術Docker
- Docker技術( 容器虛擬化技術 )Docker
- Docker容器編排技術解析與實踐Docker
- Docker_04 容器-基礎操作Docker
- 容器技術Docker雲端計算實戰 映象操作大總結Docker
- Docker進階與實踐之四:Docker映象倉庫Docker