欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

將Docker的根目錄遷移到其他掛載盤的詳細(xì)流程

 更新時(shí)間:2025年08月01日 10:47:19   作者:代碼怪獸大作戰(zhàn)  
Docker默認(rèn)將所有容器、鏡像、數(shù)據(jù)卷等內(nèi)容存放在 /var/lib/docker 下,隨著業(yè)務(wù)增長,該目錄很容易撐爆根分區(qū),所以本文將教你如何將 Docker 的根目錄遷移到其他掛載盤并保持原有容器、鏡像、數(shù)據(jù)卷不丟失,需要的朋友可以參考下

在使用 Docker 的過程中,你是否遇到過類似問題:

“服務(wù)器磁盤告警,發(fā)現(xiàn) /var/lib/docker 目錄已經(jīng)占用了 80G+ 的空間!”

Docker 默認(rèn)將所有容器、鏡像、數(shù)據(jù)卷等內(nèi)容存放在 /var/lib/docker 下,隨著業(yè)務(wù)增長,該目錄很容易撐爆根分區(qū)。

本文將教你如何將 Docker 的根目錄遷移到其他掛載盤(如 /opt/docker,并保持原有容器、鏡像、數(shù)據(jù)卷不丟失。

適用場(chǎng)景

  • /var/lib/docker 占用空間太大,影響系統(tǒng)運(yùn)行
  • 服務(wù)器掛載了大容量的數(shù)據(jù)盤或獨(dú)立磁盤目錄(如 /opt、/data
  • 想保持已有容器鏡像數(shù)據(jù)不丟失

操作概覽

推薦使用 rsync 安全遷移,并通過配置 data-root 修改 Docker 根目錄

一、遷移前清理無用數(shù)據(jù)(推薦)

遷移前可以清理以下資源,減少磁盤占用和遷移時(shí)間:

  • 已退出的容器
  • 未使用的鏡像(如 <none>
  • 構(gòu)建緩存
  • 未掛載的卷

磁盤使用情況命令:

du -h --max-depth=1 /var/lib/

推薦清理命令:

docker system prune -a --volumes

也可以按模塊逐個(gè)清理:

docker container prune       # 清理已退出容器
docker image prune -a        # 刪除懸空鏡像
docker volume prune          # 清理未使用的卷
docker network prune         # 清理未使用的網(wǎng)絡(luò)

注意事項(xiàng)

清理操作不可恢復(fù),請(qǐng)確保不再使用的資源才執(zhí)行

清理前可用如下命令預(yù)覽:

docker images -f dangling=true
docker volume ls -f dangling=true
docker ps -a

二、確認(rèn)當(dāng)前 Docker 根目錄

docker info | grep 'Docker Root Dir'

輸出示例:

Docker Root Dir: /var/lib/docker

三、停止 Docker 服務(wù)(必須)

遷移數(shù)據(jù)前必須停掉 Docker,避免文件寫入不一致:

sudo systemctl stop docker

可選(有 containerd 的話):

sudo systemctl stop containerd

四、使用 rsync 安全復(fù)制 Docker 目錄

推薦使用 rsync,保持文件權(quán)限、符號(hào)鏈接等:

sudo rsync -aAXHv --progress /var/lib/docker/ /opt/docker/

參數(shù)說明

參數(shù)作用
-aAXH保留文件權(quán)限、ACL、符號(hào)鏈接、硬鏈接等
--progress顯示復(fù)制進(jìn)度
/ 結(jié)尾表示復(fù)制目錄 內(nèi)容 而不是目錄本身

遷移完成

五、修改 Docker 配置文件

編輯 /etc/docker/daemon.json,添加或修改如下配置:

{
  "data-root": "/opt/docker"
}

如果該文件不存在,可直接創(chuàng)建。

六、重啟 Docker 服務(wù)

sudo systemctl start docker

七、驗(yàn)證遷移是否成功

docker info | grep 'Docker Root Dir'

輸出應(yīng)為:

Docker Root Dir: /opt/docker

再執(zhí)行:

docker ps -a
docker images

確保容器、鏡像、數(shù)據(jù)卷等一切正常。

八、清理舊目錄(確認(rèn)無誤后)

要確認(rèn) Docker 是否仍在使用 /var/lib/docker 目錄,可以從 配置檢查 + 活動(dòng)檢查 + 掛載路徑檢查 三個(gè)層面來判斷。

檢查 Docker 當(dāng)前數(shù)據(jù)目錄配置

docker info | grep "Docker Root Dir"

例如輸出:

Docker Root Dir: /opt/docker
  • 如果顯示為 /var/lib/docker → 說明仍在使用舊目錄
  • 如果顯示為其他路徑(如 /opt/docker)→ 說明已經(jīng)遷移成功,Docker 正在用新路徑。

確認(rèn) /var/lib/docker 是否還有文件被訪問(實(shí)時(shí)檢測(cè))

可以使用以下方式來檢測(cè)該目錄是否仍在被 Docker 訪問:

使用 lsof 查看是否有進(jìn)程打開了該目錄文件:

sudo lsof +D /var/lib/docker
  • 如果輸出很多項(xiàng) → 有程序(很可能是 Docker)還在訪問該目錄。
  • 如果無輸出 → 當(dāng)前沒有任何進(jìn)程使用 /var/lib/docker。

或者查看是否有掛載點(diǎn):

mount | grep /var/lib/docker

如果該路徑有掛載(如 overlay、aufs、tmpfs 等),則說明仍然在使用。

使用 du 對(duì)新路徑進(jìn)行核查對(duì)比(判斷是否數(shù)據(jù)已遷移)

假設(shè)你遷移到了 /opt/docker

sudo du -sh /opt/docker
  • 如果 /opt/docker 顯示接近 45G,說明遷移后的路徑也包含完整數(shù)據(jù);
  • 如果 /opt/docker 只有幾百 MB,而 /var/lib/docker 仍然 45G,那說明 Docker 還在用舊目錄,或者遷移不完整。

查看 Docker 配置文件 daemon.json

cat /etc/docker/daemon.json

確認(rèn)里面有如下配置,并且路徑與你預(yù)期一致:

{
  "data-root": "/opt/docker"
}

如果此配置不存在,Docker 默認(rèn)仍使用 /var/lib/docker

重啟后再次確認(rèn)(配置生效關(guān)鍵)

如果你修改了 daemon.json 但沒有重啟 Docker,舊路徑可能仍被使用。

確保你執(zhí)行了:

sudo systemctl restart docker

然后重新執(zhí)行 docker info 確認(rèn)是否已生效。

最終判斷標(biāo)準(zhǔn)(是否可安全刪除 /var/lib/docker):

可以放心清理 /var/lib/docker 的前提條件:

條件符合說明
docker info 顯示 Docker Root Dir 為新路徑(如 /opt/docker)?
lsof +D /var/lib/docker 無任何輸出?
mount為空?
/opt/docker 占用空間基本等于 /var/lib/docker?
所有容器、鏡像、網(wǎng)絡(luò)、卷運(yùn)行無異常?

滿足以上條件,就可以安全刪除 /var/lib/docker。

數(shù)據(jù)驗(yàn)證無誤后,可以刪除舊目錄釋放磁盤空間:

sudo rm -rf /var/lib/docker

常見問題 FAQ

遷移過程中可以不停機(jī)嗎?

不能。Docker 必須停止服務(wù),否則正在運(yùn)行的容器或鏡像文件可能處于寫入狀態(tài),遷移將造成數(shù)據(jù)不一致或損壞。

如果遷移失敗,可以恢復(fù)嗎?

完全可以。原目錄 /var/lib/docker 沒有刪除前,可隨時(shí)回退:

# 修改 daemon.json 改回原路徑
{
  "data-root": "/var/lib/docker"
}
# 重啟 Docker
sudo systemctl restart docker

總結(jié)

通過合理遷移 Docker 根目錄,可以有效釋放根分區(qū)壓力,將大量容器與鏡像數(shù)據(jù)遷移到更大更合理的掛載路徑上。

遷移核心步驟:

  • 清理無用資源(推薦)
  • 停止 Docker 服務(wù)
  • 使用 rsync 拷貝數(shù)據(jù)
  • 修改配置文件指向新目錄
  • 重啟 Docker 并驗(yàn)證運(yùn)行正常
  • 刪除舊目錄釋放空間

以上就是將Docker的根目錄遷移到其他掛載盤詳細(xì)流程的詳細(xì)內(nèi)容,更多關(guān)于Docker根目錄遷移的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • docker用root進(jìn)入容器的操作

    docker用root進(jìn)入容器的操作

    這篇文章主要介紹了docker用root進(jìn)入容器的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 詳解docker私有倉庫搭建與使用實(shí)戰(zhàn)

    詳解docker私有倉庫搭建與使用實(shí)戰(zhàn)

    這篇文章主要介紹了詳解docker私有倉庫搭建與使用實(shí)戰(zhàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-02-02
  • docker安裝MinIO全過程

    docker安裝MinIO全過程

    Minio是一個(gè)高性能的面向?qū)ο蟠鎯?chǔ)服務(wù),使用Go語言編寫,支持跨平臺(tái),本文介紹了如何使用Docker安裝Minio,并通過配置用戶名密碼、創(chuàng)建Bucket和上傳圖片進(jìn)行簡單的存儲(chǔ)操作
    2024-12-12
  • Docker學(xué)習(xí)之?dāng)?shù)據(jù)卷和Dockerfile詳解

    Docker學(xué)習(xí)之?dāng)?shù)據(jù)卷和Dockerfile詳解

    在容器化應(yīng)用的開發(fā)和部署過程中,數(shù)據(jù)的持久化和共享是一個(gè)重要的問題,下面這篇文章主要給大家介紹了關(guān)于Docker學(xué)習(xí)之?dāng)?shù)據(jù)卷和Dockerfile的相關(guān)資料,需要的朋友可以參考下
    2024-04-04
  • 國內(nèi)可用的Docker鏡像源測(cè)試指南

    國內(nèi)可用的Docker鏡像源測(cè)試指南

    在使用 Docker 時(shí),由于網(wǎng)絡(luò)原因,直接從 Docker Hub 拉取鏡像可能會(huì)遇到速度緩慢甚至無法訪問的情況,因此,使用國內(nèi)的 Docker 鏡像源可以顯著提升鏡像拉取速度,本文將介紹如何選擇和測(cè)試國內(nèi)可用的 Docker 鏡像源,需要的朋友可以參考下
    2025-02-02
  • docker 部署 Elasticsearch kibana及ik分詞器詳解

    docker 部署 Elasticsearch kibana及ik分詞器詳解

    這篇文章主要介紹了docker 部署 Elasticsearch kibana及ik分詞器詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-05-05
  • 詳解Ubuntu16.04安裝Docker、nvidia-docker的教程

    詳解Ubuntu16.04安裝Docker、nvidia-docker的教程

    這篇文章主要介紹了詳解Ubuntu16.04安裝Docker、nvidia-docker的教程,需要的朋友可以參考下
    2019-10-10
  • docker刪除鏡像的實(shí)現(xiàn)方式詳解

    docker刪除鏡像的實(shí)現(xiàn)方式詳解

    這篇文章主要為大家介紹了docker刪除鏡像的實(shí)現(xiàn)方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • 在docker容器中調(diào)用和執(zhí)行宿主機(jī)的docker操作

    在docker容器中調(diào)用和執(zhí)行宿主機(jī)的docker操作

    這篇文章主要介紹了在docker容器中調(diào)用和執(zhí)行宿主機(jī)的docker操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 談?wù)勎覍?duì)docker的理解

    談?wù)勎覍?duì)docker的理解

    作為一種新興的虛擬化方式,Docker跟傳統(tǒng)的虛擬化方式相比具有眾多的優(yōu)勢(shì)。這篇文章給大家介紹了docker的優(yōu)勢(shì)及docker的三個(gè)基本概念,感興趣的朋友一起看看吧
    2016-10-10

最新評(píng)論