
文章插圖
分層下載,鏡像是什么鏡像就是一個(gè)輕量的、獨(dú)立的軟件包 。用來(lái)打包運(yùn)行環(huán)境和基于運(yùn)行環(huán)境開(kāi)發(fā)的軟件 。它包含軟件運(yùn)行所需的所有內(nèi)容(包括代碼、運(yùn)行時(shí)、庫(kù)、環(huán)境變量、配置文件)docker image的核心: 聯(lián)合文件系統(tǒng)
所有的應(yīng)用,打包docker鏡像,就可以跑起來(lái) 。
如何得到鏡像
- 從遠(yuǎn)程倉(cāng)庫(kù)下載
- 拷貝他人的鏡像(鏡像打包生成tar壓縮包,可以發(fā)送壓縮包給別人 。)
- 自己制作一個(gè)鏡像(
DockerFile)
UnionFS(聯(lián)合文件系統(tǒng))
UnionFS(聯(lián)合文件系統(tǒng))是一種分層、輕量、高性能的文件系統(tǒng) 。它支持對(duì)文件系統(tǒng)的修改作為一次提交,來(lái)一層一層的疊加,同時(shí)可以將不同目錄掛載到同一個(gè)虛擬文件系統(tǒng)下 。
- 聯(lián)合文件系統(tǒng)是
Docker鏡像的基礎(chǔ),鏡像可以通過(guò)分層來(lái)進(jìn)行繼承,基于基礎(chǔ)鏡像(沒(méi)有父鏡像)可以制作各種具體的應(yīng)用鏡像 。
一次同時(shí)加載多個(gè)文件系統(tǒng),但從外面看起來(lái),只能看到一個(gè)文件系統(tǒng),聯(lián)合加載會(huì)把各層文件系統(tǒng)疊加起來(lái),這樣最終的文件系統(tǒng)會(huì)包含所有底層的文件和目錄 。
Docker鏡像加載原理:
Docker的鏡像實(shí)際上由一層一層的文件系統(tǒng)組成,- bootfs(boot file syatem)
- rootfs(root file system),
Ubuntu,Centos
文章插圖
分層理解
- 查看鏡像詳細(xì)信息
docker inspect 鏡像id
文章插圖
- Layers

文章插圖
特點(diǎn):
docker鏡像都是只讀的,當(dāng)容器啟動(dòng)時(shí),一個(gè)新的可寫(xiě)層被加到鏡像的頂部 。
這一層就是我們通常說(shuō)的容器層,容器之下的都叫鏡像層 。

文章插圖
commit鏡像(提交一個(gè)自己的鏡像)
docker commit #提交容器成為一個(gè)新的副本#命令和git原理類(lèi)似docker commit -m='提交的描述信息' -a='作者' 容器id 目標(biāo)鏡像名:[ tag ]下載的tomcat鏡像是閹割版,啟動(dòng)之后404,因?yàn)閣ebapps下面沒(méi)有ROOT文件夾,所以這里嘗試做一個(gè)自己的可正常訪問(wèn)tomcat主頁(yè)的鏡像 。(由于鏡像只讀,啟動(dòng)鏡像之后會(huì)在鏡像層之上生成一個(gè)容器層,在tomcat容器層做修改,再把鏡像層和修改過(guò)后的容器層整體打包成一個(gè)新的個(gè)人鏡像)1、下載tomcat鏡像
docker pull tomcat2、啟動(dòng)tomcat鏡像docker run -it -p 3355:8080 tomcat /bin/bash3、瀏覽器訪問(wèn)4044、進(jìn)入容器,復(fù)制webapps.dist目錄下的文件到webapps目錄下5、提交鏡像docker commit -m="edit webapps dir" -a="xiao" 容器id tomcat02:1.0
文章插圖
6、查看提交的鏡像信息
docker inspect [imageId]
經(jīng)驗(yàn)總結(jié)擴(kuò)展閱讀
- useEffect 和 useLayoutEffect淺析
- docker搭建個(gè)人云盤(pán)可道云kodbox
- 18-基于CentOS7搭建RabbitMQ3.10.7集群鏡像隊(duì)列+HaProxy+Keepalived高可用架構(gòu)
- frp服務(wù)利用云主機(jī)docker服務(wù)實(shí)現(xiàn)Windows遠(yuǎn)程連接
- 企業(yè)運(yùn)維 | MySQL關(guān)系型數(shù)據(jù)庫(kù)在Docker與Kubernetes容器環(huán)境中快速搭建部署主從實(shí)踐
- mac通過(guò)docker一鍵部署Jenkins
- Docker MySql 查看版本的三種方法
- 手把手教你玩轉(zhuǎn) Gitea|使用 Docker 安裝 Gitea
- Docker搭建kafka及監(jiān)控
- Docker容器獲取宿主機(jī)信息
