Docker 數(shù)據(jù)存儲(chǔ)路徑之解決默認(rèn)docker路徑位置磁盤空間不足的問題
用于遷移 Docker 默認(rèn)數(shù)據(jù)目錄
/var/lib/docker到/mnt/disk/docker,保留所有現(xiàn)有數(shù)據(jù)且無需修改docker.service,僅通過daemon.json配置完成遷移:
Docker 數(shù)據(jù)目錄遷移指南(使用 daemon.json)
由于默認(rèn)路徑
/var/lib/docker所在磁盤空間不足,可以將 Docker 數(shù)據(jù)目錄遷移到新的掛載磁盤(如/mnt/disk/docker),保留所有鏡像、容器、卷、日志等數(shù)據(jù)。
1. 停止 Docker 服務(wù)
sudo systemctl stop docker
執(zhí)行以下命令確認(rèn)無殘留進(jìn)程:
ps aux | grep -E "docker|containerd"
- 確保沒有正在運(yùn)行的進(jìn)程如:
dockerdcontainerddocker-containerd-shim- 等其他 docker 子進(jìn)程
2. 創(chuàng)建新目錄并遷移數(shù)據(jù)(保留權(quán)限)
sudo mkdir -p /mnt/disk/docker sudo rsync -avz /var/lib/docker/ /mnt/disk/docker/
3. 修改 Docker 配置文件/etc/docker/daemon.json
sudo tee /etc/docker/daemon.json <<EOF
{
"data-root": "/mnt/disk/docker",
"hosts": ["unix:///var/run/docker.sock"]
}
EOF或者
vim /etc/docker/daemon.json
{
"data-root": "/mnt/disk/docker",
"hosts": ["unix:///var/run/docker.sock"]
}4. 修復(fù)權(quán)限(可選但建議)
sudo chown -R root:docker /mnt/disk/docker sudo chmod -R 755 /mnt/disk/docker
5. 重啟 Docker 并驗(yàn)證
sudo systemctl start docker docker info | grep "Docker Root Dir" # 應(yīng)輸出 /mnt/disk/docker docker ps -a # 檢查原有容器是否存在
?? Docker 默認(rèn)數(shù)據(jù)目錄結(jié)構(gòu)詳解(data-root)
當(dāng)
data-root默認(rèn)為/var/lib/docker時(shí),包含以下關(guān)鍵子目錄:
/var/lib/docker/ ├── buildkit/ # 鏡像構(gòu)建緩存 ├── containers/ # 容器運(yùn)行數(shù)據(jù)(日志、配置等) ├── image/ # 鏡像及元數(shù)據(jù) ├── network/ # 網(wǎng)絡(luò)配置 ├── overlay2/ # 鏡像層與容器層(Overlay2 存儲(chǔ)驅(qū)動(dòng)) ├── plugins/ # 插件數(shù)據(jù) ├── runtimes/ # 容器運(yùn)行時(shí)信息 ├── swarm/ # Swarm 模式相關(guān)數(shù)據(jù) ├── tmp/ # 臨時(shí)文件 ├── trust/ # 鏡像簽名信任 ├── volumes/ # 卷數(shù)據(jù)(Volume 和 Bind Mount) └── ... # 其他運(yùn)行數(shù)據(jù)
?? 詳細(xì)說明
(1)鏡像存儲(chǔ)路徑
- 目錄:
/var/lib/docker/image/ - 元數(shù)據(jù):
overlay2/imagedb/: 鏡像 ID、標(biāo)簽等overlay2/layerdb/: 鏡像層信息(DiffID、ChainID)- 實(shí)際內(nèi)容:
- 鏡像層文件存儲(chǔ)于
/var/lib/docker/overlay2/ - 每層一個(gè)目錄,如:
overlay2/<layer-id>/diff
(2)容器運(yùn)行時(shí)數(shù)據(jù)
- 目錄:
/var/lib/docker/containers/<容器ID>/ - 關(guān)鍵文件:
<容器ID>-json.log: 容器日志(JSON 格式)config.v2.json: 容器配置hostname,hosts,resolv.conf: 網(wǎng)絡(luò)相關(guān)配置
如需恢復(fù)默認(rèn)配置,只需刪除或修改
/etc/docker/daemon.json并遷移數(shù)據(jù)回/var/lib/docker。
到此這篇關(guān)于Docker 數(shù)據(jù)存儲(chǔ)路徑之解決默認(rèn)docker路徑位置磁盤空間不足的問題的文章就介紹到這了,更多相關(guān)docker路徑位置磁盤空間不足內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker mysql+nacos單機(jī)部署的實(shí)現(xiàn)步驟
本文主要介紹了Docker mysql+nacos單機(jī)部署的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08
使用Docker安裝和配置 MySQL 數(shù)據(jù)庫的過程詳解
本文將介紹如何使用Docker來安裝和配置MySQL數(shù)據(jù)庫,以便在開發(fā)和測(cè)試環(huán)境中快速搭建MySQL實(shí)例,本文也是介紹兩種方式進(jìn)行分別是“使用鏡像安裝”、“使用Docker Compose安裝”,感興趣的朋友一起看看吧2023-12-12
docker和docker-compose的版本對(duì)應(yīng)關(guān)系的實(shí)現(xiàn)
本文主要介紹了docker和docker-compose的版本對(duì)應(yīng)關(guān)系的實(shí)現(xiàn),兩者雖非強(qiáng)制綁定,但新版本docker-compose可能依賴更高版本Docker引擎的API,具有一定的參考價(jià)值,感興趣的可以了解一下2025-06-06
docker-compose常用命令及.yaml配置模板方式
這篇文章主要介紹了docker-compose常用命令及.yaml配置模板方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-05-05

