最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

在使用 Docker 的過(guò)程中,你是否遇到過(guò)類(lèi)似問(wèn)題:

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

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

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

適用場(chǎng)景

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

操作概覽

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

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

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

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

磁盤(pán)使用情況命令:

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,避免文件寫(xiě)入不一致:

sudo systemctl stop docker

可選(有 containerd 的話(huà)):

sudo systemctl stop containerd

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

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

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

參數(shù)說(shuō)明

參數(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)無(wú)誤后)

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

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

docker info | grep "Docker Root Dir"

例如輸出:

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

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

可以使用以下方式來(lái)檢測(cè)該目錄是否仍在被 Docker 訪(fǎng)問(wèn):

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

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

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

mount | grep /var/lib/docker

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

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

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

sudo du -sh /opt/docker
  • 如果 /opt/docker 顯示接近 45G,說(shuō)明遷移后的路徑也包含完整數(shù)據(jù);
  • 如果 /opt/docker 只有幾百 MB,而 /var/lib/docker 仍然 45G,那說(shuō)明 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 但沒(méi)有重啟 Docker,舊路徑可能仍被使用。

確保你執(zhí)行了:

sudo systemctl restart docker

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

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

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

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

滿(mǎn)足以上條件,就可以安全刪除 /var/lib/docker。

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

sudo rm -rf /var/lib/docker

常見(jiàn)問(wèn)題 FAQ

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

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

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

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

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

總結(jié)

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

遷移核心步驟:

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

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

相關(guān)文章

  • Dockerfile文件編寫(xiě)實(shí)戰(zhàn)練習(xí)及注意事項(xiàng)

    Dockerfile文件編寫(xiě)實(shí)戰(zhàn)練習(xí)及注意事項(xiàng)

    Dockerfile?是一個(gè)用于構(gòu)建?Docker?鏡像的文本文件,通過(guò)一系列指令來(lái)定義鏡像的構(gòu)建過(guò)程,這篇文章主要介紹了Dockerfile文件編寫(xiě)實(shí)戰(zhàn)練習(xí)及注意事項(xiàng)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-04-04
  • 基于docker啟動(dòng)nginxssl配置

    基于docker啟動(dòng)nginxssl配置

    這篇文章主要介紹了基于docker啟動(dòng)nginxssl配置,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-12-12
  • Docker搭建Zookeeper&Kafka集群的實(shí)現(xiàn)

    Docker搭建Zookeeper&Kafka集群的實(shí)現(xiàn)

    這篇文章主要介紹了Docker搭建Zookeeper&Kafka集群的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 詳解Docker cpu限制分析

    詳解Docker cpu限制分析

    本篇文章主要介紹了Docker cpu限制分析,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • Docker安裝部署Redis數(shù)據(jù)庫(kù)的實(shí)現(xiàn)步驟

    Docker安裝部署Redis數(shù)據(jù)庫(kù)的實(shí)現(xiàn)步驟

    本文主要介紹了Docker安裝部署Redis數(shù)據(jù)庫(kù)的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • docker?部署hbase并且java?Api連接的操作過(guò)程

    docker?部署hbase并且java?Api連接的操作過(guò)程

    這篇文章主要介紹了docker?部署hbase并且java?Api連接的操作過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-11-11
  • Docker的MySQL容器時(shí)區(qū)問(wèn)題修改

    Docker的MySQL容器時(shí)區(qū)問(wèn)題修改

    這篇文章主要給大家介紹了關(guān)于Docker的MySQL容器時(shí)區(qū)問(wèn)題修改的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • MacOS安裝Docker的過(guò)程及遇到的坑

    MacOS安裝Docker的過(guò)程及遇到的坑

    這篇文章給大家分享MacOS安裝Docker的過(guò)程及遇到的坑,本文給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友參考下
    2018-01-01
  • docker部署kafka的方法步驟

    docker部署kafka的方法步驟

    本文主要介紹了docker部署kafka的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • 一文弄懂docker的緩存機(jī)制

    一文弄懂docker的緩存機(jī)制

    Docker的緩存機(jī)制是指當(dāng)你構(gòu)建鏡像時(shí),Docker會(huì)盡可能重用之前步驟的輸出,本文主要介紹了一文弄懂docker的緩存機(jī)制,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-06-06

最新評(píng)論

电白县| 剑河县| 科尔| 景宁| 财经| 贺兰县| 澎湖县| 喜德县| 漠河县| 洛扎县| 神池县| 长葛市| 天镇县| 湘潭县| 玉田县| 浏阳市| 玛多县| 蚌埠市| 衢州市| 潜山县| 上犹县| 南岸区| 治多县| 蓝田县| 芷江| 康定县| 双桥区| 荥阳市| 莎车县| 宁国市| 建瓯市| 溧阳市| 甘肃省| 同心县| 常德市| 浮梁县| 灵武市| 沂南县| 唐河县| 牟定县| 襄城县|