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

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

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

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

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

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

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

適用場景

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

操作概覽

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

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

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

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

磁盤使用情況命令:

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

推薦清理命令:

docker system prune -a --volumes

也可以按模塊逐個清理:

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

注意事項

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

清理前可用如下命令預覽:

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

二、確認當前 Docker 根目錄

docker info | grep 'Docker Root Dir'

輸出示例:

Docker Root Dir: /var/lib/docker

三、停止 Docker 服務(必須)

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

sudo systemctl stop docker

可選(有 containerd 的話):

sudo systemctl stop containerd

四、使用 rsync 安全復制 Docker 目錄

推薦使用 rsync,保持文件權限、符號鏈接等:

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

參數說明

參數作用
-aAXH保留文件權限、ACL、符號鏈接、硬鏈接等
--progress顯示復制進度
/ 結尾表示復制目錄 內容 而不是目錄本身

遷移完成

五、修改 Docker 配置文件

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

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

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

六、重啟 Docker 服務

sudo systemctl start docker

七、驗證遷移是否成功

docker info | grep 'Docker Root Dir'

輸出應為:

Docker Root Dir: /opt/docker

再執(zhí)行:

docker ps -a
docker images

確保容器、鏡像、數據卷等一切正常。

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

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

檢查 Docker 當前數據目錄配置

docker info | grep "Docker Root Dir"

例如輸出:

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

確認 /var/lib/docker 是否還有文件被訪問(實時檢測)

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

使用 lsof 查看是否有進程打開了該目錄文件:

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

或者查看是否有掛載點:

mount | grep /var/lib/docker

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

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

假設你遷移到了 /opt/docker

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

查看 Docker 配置文件 daemon.json

cat /etc/docker/daemon.json

確認里面有如下配置,并且路徑與你預期一致:

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

如果此配置不存在,Docker 默認仍使用 /var/lib/docker

重啟后再次確認(配置生效關鍵)

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

確保你執(zhí)行了:

sudo systemctl restart docker

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

最終判斷標準(是否可安全刪除 /var/lib/docker):

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

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

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

數據驗證無誤后,可以刪除舊目錄釋放磁盤空間:

sudo rm -rf /var/lib/docker

常見問題 FAQ

遷移過程中可以不停機嗎?

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

如果遷移失敗,可以恢復嗎?

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

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

總結

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

遷移核心步驟:

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

以上就是將Docker的根目錄遷移到其他掛載盤詳細流程的詳細內容,更多關于Docker根目錄遷移的資料請關注腳本之家其它相關文章!

相關文章

  • Dockerfile文件編寫實戰(zhàn)練習及注意事項

    Dockerfile文件編寫實戰(zhàn)練習及注意事項

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

    基于docker啟動nginxssl配置

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

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

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

    詳解Docker cpu限制分析

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

    Docker安裝部署Redis數據庫的實現(xiàn)步驟

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

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

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

    Docker的MySQL容器時區(qū)問題修改

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

    MacOS安裝Docker的過程及遇到的坑

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

    docker部署kafka的方法步驟

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

    一文弄懂docker的緩存機制

    Docker的緩存機制是指當你構建鏡像時,Docker會盡可能重用之前步驟的輸出,本文主要介紹了一文弄懂docker的緩存機制,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06

最新評論

高平市| 色达县| 江阴市| 昭平县| 临江市| 泰宁县| 陆良县| 临汾市| 扶余县| 策勒县| 白城市| 永寿县| 鄂托克旗| 吕梁市| 凤冈县| 遂溪县| 崇明县| 鹿泉市| 屏东市| 民丰县| 讷河市| 祥云县| 凌海市| 广东省| 湖州市| 辉县市| 岳池县| 灵丘县| 安仁县| 洛阳市| 西和县| 察隅县| 乡城县| 景洪市| 容城县| 镇原县| 曲麻莱县| 东至县| 平阳县| 万荣县| 陵川县|