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

Docker?數(shù)據(jù)目錄遷移的實(shí)現(xiàn)步驟

 更新時(shí)間:2025年12月03日 09:18:26   作者:Chen_Curry  
本文詳細(xì)記錄了將Docker數(shù)據(jù)目錄從/var/lib/docker遷移到更大容量的分區(qū)的全過程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

在使用 Docker 過程中,默認(rèn)數(shù)據(jù)目錄 /var/lib/docker 會(huì)存儲(chǔ)鏡像、容器、卷等所有核心數(shù)據(jù)。隨著業(yè)務(wù)增長(zhǎng),該目錄所在的 /var 分區(qū)可能因空間不足面臨擴(kuò)容壓力,此時(shí)將 Docker 數(shù)據(jù)目錄遷移到更大容量的分區(qū)(如本文中的 /data2/docker/data)是最優(yōu)解決方案。本文將詳細(xì)記錄從準(zhǔn)備工作、數(shù)據(jù)復(fù)制、配置修改到問題排查的完整遷移過程,包含實(shí)操命令和避坑指南,適用于 Ubuntu 及其他 Linux 發(fā)行版。

一、遷移前準(zhǔn)備

1. 環(huán)境確認(rèn)

  • 操作系統(tǒng):Ubuntu 22.04.5 LTS
  • Docker 版本:28.2.2(客戶端與服務(wù)端版本一致)
  • 源數(shù)據(jù)目錄:/var/lib/docker(默認(rèn)路徑,通過 docker info | grep "Docker Root Dir" 確認(rèn))
  • 目標(biāo)數(shù)據(jù)目錄:/data2/docker/data(需確保目標(biāo)分區(qū)有足夠空間,本文遷移數(shù)據(jù)量約 260G)

2. 核心工具與命令

  • systemctl:管理 Docker 服務(wù)啟停
  • cp -a:完整復(fù)制目錄(保留權(quán)限、隱藏文件、元數(shù)據(jù))
  • nano:編輯 Docker 配置文件
  • journalctl:查看 Docker 啟動(dòng)日志(排查錯(cuò)誤)

3. 關(guān)鍵前提

  • 遷移前必須停止 Docker 服務(wù)及相關(guān)進(jìn)程,避免數(shù)據(jù)寫入導(dǎo)致復(fù)制不完整
  • 目標(biāo)目錄需提前創(chuàng)建并配置正確權(quán)限,確保 Docker 可讀寫

二、詳細(xì)遷移步驟

步驟 1:停止 Docker 服務(wù)(關(guān)鍵!)

Docker 運(yùn)行時(shí)會(huì)持續(xù)讀寫數(shù)據(jù)目錄,遷移前需完全停止服務(wù),同時(shí)停止 docker.socket 防止自動(dòng)激活:

# 停止 Docker 服務(wù)
sudo systemctl stop docker
# 停止 docker.socket(避免服務(wù)被自動(dòng)激活)
sudo systemctl stop docker.socket
# 驗(yàn)證狀態(tài)(均顯示 inactive (dead) 即為成功)
sudo systemctl status docker
sudo systemctl status docker.socket

步驟 2:創(chuàng)建目標(biāo)目錄并配置權(quán)限

目標(biāo)目錄需歸屬 root 用戶(Docker 運(yùn)行用戶),權(quán)限設(shè)置為 701(與默認(rèn)目錄權(quán)限一致):

# 創(chuàng)建目標(biāo)目錄(-p 確保父目錄遞歸創(chuàng)建)
sudo mkdir -p /data2/docker/data
# 配置所有者為 root:root
sudo chown -R root:root /data2/docker/data
# 配置權(quán)限(保證 root 讀寫權(quán)限,其他用戶可執(zhí)行)
sudo chmod -R 701 /data2/docker/data

步驟 3:完整復(fù)制數(shù)據(jù)到目標(biāo)目錄

使用 cp -a 命令復(fù)制數(shù)據(jù),核心是保留所有文件屬性和隱藏內(nèi)容(Docker 依賴大量隱藏元數(shù)據(jù)文件):

# 關(guān)鍵命令:復(fù)制源目錄下所有內(nèi)容(包括隱藏文件和子目錄)
sudo cp -a /var/lib/docker/. /data2/docker/data/

命令說明:

  • 源路徑使用 /var/lib/docker/. 而非 /** 會(huì)忽略隱藏文件(如 overlay2 存儲(chǔ)驅(qū)動(dòng)的 .lower 元文件),導(dǎo)致數(shù)據(jù)不完整;/. 會(huì)復(fù)制目錄下所有內(nèi)容,包括隱藏文件和嵌套子目錄
  • -a 選項(xiàng)等價(jià)于 -dR --preserve=all,遞歸復(fù)制、保留符號(hào)鏈接、權(quán)限、所有者、時(shí)間戳,確保數(shù)據(jù)完整性

步驟 4:修改 Docker 配置文件(指定新數(shù)據(jù)目錄)

Docker 通過 /etc/docker/daemon.json 配置數(shù)據(jù)目錄,需添加 data-root 字段指定新路徑:

# 編輯配置文件(不存在則自動(dòng)創(chuàng)建)
sudo nano /etc/docker/daemon.json

正確配置內(nèi)容(JSON 格式嚴(yán)格?。?/p>

{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://mirror.ccs.tencentyun.com",
    "https://dockerproxy.com"
  ],
  "ipv6": false,
  "dns": ["x.x.x.x", "xxx.xxx.xxx.xxx"],
  "data-root": "/data2/docker/data"  // 核心:指定新數(shù)據(jù)目錄
}

配置注意事項(xiàng):

  • JSON 格式必須嚴(yán)格:鍵值對(duì)用逗號(hào)分隔,最后一個(gè)鍵值對(duì)后無多余逗號(hào)
  • 字符串不能包含換行符、多余引號(hào),否則會(huì)導(dǎo)致 Docker 解析失敗
  • 若原有配置包含鏡像源、DNS 等,直接新增 data-root 字段即可,無需修改其他配置

步驟 5:?jiǎn)?dòng) Docker 服務(wù)并驗(yàn)證

# 啟動(dòng) Docker 服務(wù)(自動(dòng)拉起 docker.socket)
sudo systemctl start docker
# 驗(yàn)證服務(wù)狀態(tài)(顯示 active (running) 即為成功)
sudo systemctl status docker
# 驗(yàn)證新數(shù)據(jù)目錄是否生效
docker info | grep "Docker Root Dir"

預(yù)期輸出:

Docker Root Dir: /data2/docker/data

三、遷移過程中遇到的問題與解決方案

問題 1:誤觸回車鍵是否影響復(fù)制?

現(xiàn)象:

執(zhí)行 sudo cp -a /var/lib/docker/. /data2/docker/data/ 后等待遷移時(shí),誤觸回車鍵。

結(jié)論:

完全不影響!

  • 第一次回車已啟動(dòng) cp 復(fù)制進(jìn)程,該進(jìn)程獨(dú)立運(yùn)行,不受后續(xù)空輸入干擾
  • 后續(xù)回車鍵僅向終端輸入空行,終端會(huì)忽略無意義輸入,不會(huì)中斷或修改復(fù)制行為

驗(yàn)證方法:

# 查看 cp 進(jìn)程是否正在運(yùn)行
ps aux | grep cp
# 查看 IO 負(fù)載,確認(rèn)數(shù)據(jù)傳輸中
sudo apt install -y iotop
sudo iotop -o  # 顯示正在進(jìn)行 IO 操作的進(jìn)程

問題 2:Docker 啟動(dòng)失敗,日志提示invalid character '\n' in string literal

現(xiàn)象:

執(zhí)行 sudo systemctl start docker 失敗,日志顯示配置文件解析錯(cuò)誤。

原因:

/etc/docker/daemon.json 存在 JSON 語法錯(cuò)誤,具體為:

  • registry-mirrors 數(shù)組結(jié)束后多了多余的逗號(hào)和雙引號(hào)(],"
  • 字符串中包含非法換行符

解決方案:

修正配置文件語法,刪除多余字符,確保 JSON 格式規(guī)范(參考步驟 4 中的正確配置)。

問題 3:?jiǎn)?dòng)提示Start request repeated too quickly

現(xiàn)象:

Docker 啟動(dòng)后立即失敗,系統(tǒng)反復(fù)重試后放棄,日志顯示該提示。

原因:

核心是 Docker 守護(hù)進(jìn)程(dockerd)啟動(dòng)時(shí)解析配置文件失敗或權(quán)限不足,導(dǎo)致啟動(dòng)流程中斷。

排查步驟:

  1. 查看詳細(xì)日志定位錯(cuò)誤:
sudo journalctl -u docker.service --since "10 minutes ago"
  1. 優(yōu)先檢查 daemon.json 格式(最常見原因),其次檢查目標(biāo)目錄權(quán)限。

問題 4:復(fù)制數(shù)據(jù)時(shí)提示“沒有那個(gè)文件或目錄”

現(xiàn)象:

執(zhí)行 sudo cp -a /var/lib/docker/* /data2/docker/data/ 時(shí)提示文件不存在。

原因:

* 僅匹配非隱藏的頂層文件/目錄,而 Docker 核心數(shù)據(jù)存儲(chǔ)在子目錄(如 containers、overlay2)中,且可能包含隱藏元文件,導(dǎo)致 * 匹配不到內(nèi)容。

解決方案:

改用 sudo cp -a /var/lib/docker/. /data2/docker/data/ 復(fù)制所有內(nèi)容。

四、遷移后驗(yàn)證與收尾

1. 數(shù)據(jù)完整性驗(yàn)證

遷移成功后需確認(rèn)鏡像、容器、卷等數(shù)據(jù)完整:

# 查看鏡像(應(yīng)與遷移前一致)
docker images
# 查看所有容器(運(yùn)行中/停止?fàn)顟B(tài)均需正常顯示)
docker ps -a
# 啟動(dòng)任意舊容器,驗(yàn)證運(yùn)行狀態(tài)
docker start <容器ID/名稱>
# 查看容器日志,確認(rèn)無異常
docker logs <容器ID/名稱>
# 對(duì)比源目錄與目標(biāo)目錄大小(應(yīng)基本一致)
sudo du -sh /var/lib/docker
sudo du -sh /data2/docker/data

2. 清理舊數(shù)據(jù)(可選)

確認(rèn)遷移后 Docker 運(yùn)行正常,且目標(biāo)目錄數(shù)據(jù)完整后,可刪除舊目錄釋放空間:

# 謹(jǐn)慎操作!僅在驗(yàn)證無誤后執(zhí)行
sudo rm -rf /var/lib/docker

3. 長(zhǎng)期維護(hù)建議

  • 定期監(jiān)控目標(biāo)目錄磁盤空間,避免再次出現(xiàn)空間不足問題
  • 備份 daemon.json 配置文件:sudo cp /etc/docker/daemon.json /etc/docker/daemon.json.bak
  • 若需再次遷移,可復(fù)用本文流程,核心保持“停止服務(wù)→完整復(fù)制→修改配置→驗(yàn)證”四步

總結(jié)

Docker 數(shù)據(jù)目錄遷移的核心是保證數(shù)據(jù)完整性配置正確性

  1. 必須使用 cp -arsync -av 復(fù)制數(shù)據(jù),保留文件屬性和隱藏內(nèi)容
  2. daemon.json 格式嚴(yán)格遵循 JSON 規(guī)范,避免多余字符和換行
  3. 遷移前停止 Docker 及 docker.socket,遷移后仔細(xì)驗(yàn)證數(shù)據(jù)完整性

本文記錄的遷移過程適用于大多數(shù) Linux 環(huán)境,遇到問題時(shí)優(yōu)先通過 journalctl 查看詳細(xì)日志,90% 的啟動(dòng)失敗都是配置語法錯(cuò)誤或權(quán)限問題導(dǎo)致,針對(duì)性修正即可快速解決。

到此這篇關(guān)于Docker 數(shù)據(jù)目錄遷移的時(shí)間偶像哦啊嗎你直接批的文章就介紹到這了,更多相關(guān)docker 數(shù)據(jù)目錄遷移內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • docker-compose---安裝掛載本地文件啟動(dòng)mariadb問題

    docker-compose---安裝掛載本地文件啟動(dòng)mariadb問題

    這篇文章主要介紹了docker-compose---安裝掛載本地文件啟動(dòng)mariadb問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Docker容器中查看Python版本的四種方法對(duì)比

    Docker容器中查看Python版本的四種方法對(duì)比

    在當(dāng)今云原生和微服務(wù)架構(gòu)盛行的時(shí)代,Docker 已成為應(yīng)用部署和開發(fā)的標(biāo)準(zhǔn)工具,確保容器內(nèi) Python 環(huán)境的正確性至關(guān)重要,本文整理了四個(gè)Docker容器中查看Python版本的方法,希望對(duì)大家有所幫助
    2025-08-08
  • docker容器與centos宿主機(jī)時(shí)間一致設(shè)置方法

    docker容器與centos宿主機(jī)時(shí)間一致設(shè)置方法

    這篇文章主要介紹了docker容器與centos宿主機(jī)時(shí)間一致設(shè)置方法,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-05-05
  • Docker Desktop鏡像源配置全過程

    Docker Desktop鏡像源配置全過程

    文章總結(jié):文章主要介紹了如何配置Docker引擎鏡像,包括打開配置頁面、定位鏡像配置位置、替換鏡像內(nèi)容以及測(cè)試鏡像是否可用,作者分享了個(gè)人經(jīng)驗(yàn),旨在幫助讀者理解并操作Docker鏡像配置,同時(shí)鼓勵(lì)大家支持腳本之家
    2026-01-01
  • Docker啟動(dòng)常用容器命令及配置詳解

    Docker啟動(dòng)常用容器命令及配置詳解

    本文主要介紹了Docker啟動(dòng)常用容器命令及配置詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • docker創(chuàng)建私有鏡像倉(cāng)庫(kù)搭建教程

    docker創(chuàng)建私有鏡像倉(cāng)庫(kù)搭建教程

    本篇文章主要介紹了docker創(chuàng)建私有鏡像倉(cāng)庫(kù)搭建教程,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-02-02
  • docker網(wǎng)卡的IP地址修改方法總結(jié)

    docker網(wǎng)卡的IP地址修改方法總結(jié)

    這篇文章主要給大家總結(jié)介紹了關(guān)于docker網(wǎng)卡的IP地址修改方法,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用docker具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-06-06
  • docker部署gitlab實(shí)踐

    docker部署gitlab實(shí)踐

    這篇文章主要介紹了docker部署gitlab實(shí)踐,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2026-03-03
  • docker部署Vaultwarden密碼共享管理系統(tǒng)的實(shí)現(xiàn)(圖文)

    docker部署Vaultwarden密碼共享管理系統(tǒng)的實(shí)現(xiàn)(圖文)

    Vaultwarden是一個(gè)開源的密碼管理器,它提供了類似于Bitwarden的功能,允許用戶安全地存儲(chǔ)和管理密碼、敏感數(shù)據(jù)和身份信息,本文主要介紹了docker部署Vaultwarden密碼共享管理系統(tǒng)的實(shí)現(xiàn),感興趣的可以了解一下
    2023-10-10
  • 局域網(wǎng)內(nèi)部署 Docker Registry(推薦)

    局域網(wǎng)內(nèi)部署 Docker Registry(推薦)

    本文將從創(chuàng)建單機(jī)的 Docker Registry 開始,逐步完成局域網(wǎng)內(nèi)可用的 Docker Registry 的創(chuàng)建,并重點(diǎn)解釋如何使用 IP 地址訪問 Registry 的方法
    2017-05-05

最新評(píng)論

嘉峪关市| 汾西县| 芦溪县| 东乡县| 正安县| 湖南省| 西林县| 句容市| 武山县| 长岭县| 松滋市| 黔西县| 腾冲县| 高邮市| 乌鲁木齐县| 宣汉县| 白水县| 邵阳县| 定陶县| 乐东| 泾阳县| 五指山市| 普宁市| 崇文区| 富源县| 调兵山市| 隆安县| 包头市| 来安县| 辰溪县| 定安县| 石泉县| 乌拉特前旗| 高台县| 彩票| 昌邑市| 临安市| 浑源县| 牙克石市| 大名县| 平昌县|