分層下載,
docker image
的核心: 聯合檔案系統
映象就是一個輕量的、獨立的軟體包。用來打包執行環境和基於執行環境開發的軟體。它包含軟體執行所需的所有內容(包括程式碼、執行時、庫、環境變數、組態檔)
所有的應用,打包docker映象,就可以跑起來。
從遠端倉庫下載
拷貝他人的映象(映象打包生成tar壓縮包,可以傳送壓縮包給別人。)
自己製作一個映象(DockerFile
)
UnionFS(聯合檔案系統)
UnionFS
(聯合檔案系統)是一種分層、輕量、高效能的檔案系統。它支援對檔案系統的修改作為一次提交,來一層一層的疊加,同時可以將不同目錄掛載到同一個虛擬檔案系統下。
聯合檔案系統是Docker
映象的基礎,映象可以通過分層來進行繼承,基於基礎映象(沒有父映象)可以製作各種具體的應用映象。
特性:
一次同時載入多個檔案系統,但從外面看起來,只能看到一個檔案系統,聯合載入會把各層檔案系統疊加起來,這樣最終的檔案系統會包含所有底層的檔案和目錄。
Docker映象載入原理:
Docker
的映象實際上由一層一層的檔案系統組成,
就是各種作業系統的發行版,比如Ubuntu
,Centos
docker inspect 映象id
特點:
docker映象都是唯讀的,當容器啟動時,一個新的可寫層被加到映象的頂部。
這一層就是我們通常說的容器層,容器之下的都叫映象層。
docker commit #提交容器成為一個新的副本
#命令和git原理類似
docker commit -m='提交的描述資訊' -a='作者' 容器id 目標映象名:[ tag ]
下載的tomcat映象是閹割版,啟動之後404,因為webapps下面沒有ROOT資料夾,所以這裡嘗試做一個自己的可正常存取tomcat主頁的映象。(由於映象唯讀,啟動映象之後會在映象層之上生成一個容器層,在tomcat容器層做修改,再把映象層和修改過後的容器層整體打包成一個新的個人映象)
docker pull tomcat
docker run -it -p 3355:8080 tomcat /bin/bash
docker commit -m="edit webapps dir" -a="xiao" 容器id tomcat02:1.0
docker inspect [imageId]
我是 甜點cc
熱愛前端,也喜歡專研各種跟本職工作關係不大的技術,技術、產品興趣廣泛且濃厚,等待著一個創業機會。本號主要致力於分享個人經驗總結,希望可以給一小部分人一些微小幫助。
希望能和大家一起努力營造一個良好的學習氛圍,為了個人和家庭、為了我國的網際網路物聯網技術、數位化轉型、數位經濟發展做一點點貢獻。數風流人物還看中國、看今朝、看你我。
本文來自部落格園,作者:甜點cc,轉載請註明原文連結:https://www.cnblogs.com/all-smile/p/16768226.html