docker各目錄含義詳細(xì)解析
更新時(shí)間:2024年05月03日 08:45:40 作者:liujiangxu
Docker容器的目錄結(jié)構(gòu)通常是在構(gòu)建鏡像時(shí)定義的,它基于所使用的基礎(chǔ)鏡像,下面這篇文章主要給大家介紹了關(guān)于docker各目錄含義詳細(xì)解析的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
目錄 | 含義 |
---|---|
builder | 構(gòu)建docker鏡像的工具或過(guò)程 |
buildkit | 用于構(gòu)建和打包容器鏡像,官方構(gòu)建引擎,支持多階段構(gòu)建、緩存管理、并行化構(gòu)建和多平臺(tái)構(gòu)建等功能 |
containerd | 負(fù)責(zé)容器生命周期管理,能起、停、重啟,確保容器運(yùn)行。負(fù)責(zé)鏡管理,提供一致的運(yùn)行環(huán)境 |
containers | docker容器,當(dāng)前運(yùn)行的所有容器都會(huì)顯示到此目錄 |
image | 在docker中,image是一個(gè)只讀的文件系統(tǒng),可被看作一個(gè)模板,用于創(chuàng)建容器實(shí)例 |
network | docker網(wǎng)絡(luò)提供一種簡(jiǎn)單、可擴(kuò)展方式來(lái)組織管理容器??蔀榫W(wǎng)絡(luò)提供網(wǎng)絡(luò)隔離、服務(wù)發(fā)現(xiàn)和負(fù)載均衡等 |
overlay2 | 存儲(chǔ)驅(qū)動(dòng),用于實(shí)現(xiàn)容器與主機(jī)之間文件系統(tǒng)層的隔離。允許多個(gè)容器共享相同的基礎(chǔ)文件系統(tǒng)鏡像,又能保證每個(gè)容器保持獨(dú)立的文件系統(tǒng)更改。df命令可以列舉容器運(yùn)行中所需文件和目錄。所謂的聯(lián)合掛載 |
plugins | docker插件,用于擴(kuò)展docker |
runtimes | docker默認(rèn)使用runc作為容器運(yùn)行時(shí) |
swarm | docker集群管理工具,用于將多個(gè)docker組織成一個(gè)集群,以便統(tǒng)一管理和調(diào)度 |
tmp | 臨時(shí)文件夾,用于存放臨時(shí)文件或數(shù)據(jù) |
trust | 在Docker中,信任(trust)通常與內(nèi)容信任(Content Trust)相關(guān)。確保鏡像在傳輸過(guò)程中未被篡改 |
volumes | docker卷是容器可以從中讀取和寫入的特定文件類型層,卷為持久化存儲(chǔ)和共享數(shù)據(jù),即使容器停止和刪除(運(yùn)行后的容器都會(huì)在次目錄下自動(dòng)創(chuàng)建相應(yīng)的id數(shù)據(jù)目錄) |
聯(lián)合掛載
- 綁定掛載將主機(jī)上的文件或目錄股掛載到容器的方式。通過(guò)運(yùn)行容器時(shí)使用-v或者–mount參數(shù)來(lái)指定綁定掛載。
例如: docker run -v /data/path:/container/path image_name ,使其容器和主機(jī)之間共享文件和目錄 - 命名卷掛載卷是將docker數(shù)據(jù)卷掛載到容器中。數(shù)據(jù)卷是一個(gè)可供一個(gè)或多個(gè)容器使用的特殊目錄,用于存儲(chǔ)數(shù)據(jù)和共享數(shù)據(jù),獨(dú)立于容器的生命周期,容器可以在掛載點(diǎn)讀取和寫入數(shù)據(jù)。
例如:docker run -v volume_name:/container/path image_name - 臨時(shí)文件系統(tǒng)掛載臨時(shí)文件系統(tǒng)掛載允許將臨時(shí)文件系統(tǒng)掛載到容器的指定路徑??梢酝ㄟ^(guò)在運(yùn)行容器時(shí)使用–tmpfs參數(shù)來(lái)指定臨時(shí)文件系統(tǒng)掛載
- 當(dāng)運(yùn)行多個(gè)docker容器時(shí),每個(gè)容器都使用overlay2存儲(chǔ)驅(qū)動(dòng)來(lái)管理其文件系統(tǒng)的層,它允許docker將多個(gè)文件疊加在一起,形成一個(gè)統(tǒng)一的文件系統(tǒng)
- 每個(gè)overlay行代表一個(gè)docker容器的overlay2文件系統(tǒng)掛載點(diǎn),當(dāng)使用df命令,這些掛載點(diǎn)都會(huì)被統(tǒng)計(jì)出來(lái),它們確實(shí)占用主機(jī)磁盤利用率,wc -l 統(tǒng)計(jì)的數(shù)量和在運(yùn)行中的docker容器是保持一致。
- 每個(gè)容器還會(huì)有個(gè)shm掛載點(diǎn),用于提供共享內(nèi)存,shm通常為64mb,并且不會(huì)被計(jì)入容器磁盤使用情況因?yàn)樗鼈兪褂玫氖荝AM或tmpfs(臨時(shí)文件系統(tǒng)),而不是磁盤空間。
containers目錄
- containers目錄下存儲(chǔ)所有正在運(yùn)行或已經(jīng)停止的容器相關(guān)數(shù)據(jù),每個(gè)容器在該目錄下以容器id創(chuàng)建各子目錄,包含配置,狀態(tài),日志等信息。不推薦直接編輯這些文件
- 當(dāng)容器被刪除后該目錄下對(duì)應(yīng)的容器子目錄也將自動(dòng)被清理
文件 | 含義 |
---|---|
ID-json.log | 容器日志 |
config.v2.json | 容器配置包含容器各種參數(shù)和設(shè)置 |
hostconfig.json | 包含docker守護(hù)進(jìn)程為容器的配置,綁定掛載,端口映射,環(huán)境變量等 |
hostname | 容器主機(jī)名 |
hosts | 容器/etc/hosts文件,包含容器DNS解析信息 |
mounts | 容器掛載點(diǎn)相關(guān)信息 |
resolv.conf | 容器DNS解析配置,類似宿主機(jī)/etc/resolv.conf文件 |
resolv.conf.hash | 容器resolv.conf文件的哈希值,用于檢查文件是否已被修改或損壞 |
volumes目錄
- 在docker中volume是用于管理容器數(shù)據(jù)的命名和目錄。數(shù)據(jù)卷是一種特殊類型的存儲(chǔ),允許持久化容器數(shù)據(jù)
- 在docker/volumes/下會(huì)存放所有運(yùn)行使用命名卷的方式掛載數(shù)據(jù)目錄。該目錄下不顯示綁定掛載的數(shù)據(jù)卷列表(-v /data/ceshi:/data:ceshi)
- 數(shù)據(jù)卷獨(dú)立于容器的生命周期,即使容器被刪除或重新創(chuàng)建,數(shù)據(jù)卷中的數(shù)據(jù)仍然可以保留下來(lái),不會(huì)丟失。使容器間的數(shù)據(jù)共享變得簡(jiǎn)單。不同容器可以掛載同一個(gè)數(shù)據(jù)卷,共享數(shù)據(jù)。
資源清理
命令 | 含義 |
---|---|
docker system prune -a(強(qiáng)制) | 清除所有停止的容器、未使用的網(wǎng)絡(luò)、懸掛的鏡像(沒(méi)有被任何容器引用的鏡像)、未使用的卷 |
docker container prune( -f 強(qiáng)制) | 清理所有停止的容器,這些容器不再運(yùn)行,但仍然占用系統(tǒng)資源 |
docker image prune | 清理未使用的鏡像。未使用的鏡像是指那些沒(méi)有在任何容器中使用的鏡像 |
docker network prune | 清理未使用的 Docker 網(wǎng)絡(luò) |
docker volume prune | 清理未使用的卷。在 Docker 中,卷用于持久化數(shù)據(jù),即使容器被刪除,卷中的數(shù)據(jù)也會(huì)保留 |
總結(jié)
到此這篇關(guān)于docker各目錄含義詳細(xì)解析的文章就介紹到這了,更多相關(guān)docker目錄含義內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
spring-boot構(gòu)建docker鏡像上傳倉(cāng)庫(kù)的示例教程
這篇文章主要介紹了spring-boot構(gòu)建docker鏡像上傳倉(cāng)庫(kù),受限創(chuàng)建一個(gè)簡(jiǎn)單spring-boot-web項(xiàng)目,查看鏡像上傳倉(cāng)庫(kù)這時(shí)候有兩種解決方案,對(duì)docker鏡像上傳倉(cāng)庫(kù)相關(guān)知識(shí)感興趣的朋友跟隨小編一起看看吧2022-12-12使用phpstorm對(duì)docker中的腳本進(jìn)行debug的方法
這篇文章主要介紹了使用phpstorm對(duì)docker中的腳本進(jìn)行debug的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08Elasticsearch使用常見(jiàn)問(wèn)題解決方案
這篇文章主要介紹了Elasticsearch使用常見(jiàn)問(wèn)題解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11Docker 私有倉(cāng)庫(kù)恢復(fù)實(shí)例詳解
這篇文章主要介紹了Docker 私有倉(cāng)庫(kù)恢復(fù)實(shí)例詳解的相關(guān)資料,這里提供了詳細(xì)的實(shí)現(xiàn)步驟,及注意事項(xiàng),完成docker私有倉(cāng)庫(kù)的恢復(fù),需要的朋友可以參考下2016-11-11Docker配置國(guó)內(nèi)加速器加速鏡像下載的方法
本篇文章主要介紹了Docker配置國(guó)內(nèi)加速器加速鏡像下載的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07Docker網(wǎng)絡(luò)配置與自定義IP容器通信
IP地址是Docker容器在網(wǎng)絡(luò)中的唯一標(biāo)識(shí),每個(gè)Docker都會(huì)被分配一個(gè) IP,用于網(wǎng)絡(luò)通信,本文主要介紹了Docker網(wǎng)絡(luò)配置與自定義IP容器通信,感興趣的可以了解一下2024-03-03