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