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

Docker移動(dòng)安裝目錄的2種實(shí)現(xiàn)過(guò)程

 更新時(shí)間:2025年08月30日 08:46:46   作者:超齡超能程序猿  
本文介紹Docker遷移數(shù)據(jù)目錄的兩種方法:軟鏈接(無(wú)需改配置,路徑跳轉(zhuǎn),適合臨時(shí)遷移)和配置修改(需編輯daemon.json指定新路徑,長(zhǎng)期穩(wěn)定),操作需停服務(wù)、備份、確保權(quán)限與路徑正確

運(yùn)行Docker移動(dòng)安裝目錄實(shí)現(xiàn)方案(軟鏈接+配置修改)

一、核心前提:明確 Docker 核心目錄

Docker 默認(rèn)數(shù)據(jù)存儲(chǔ)目錄為 /var/lib/docker(含鏡像、容器、網(wǎng)絡(luò)、存儲(chǔ)等核心數(shù)據(jù)),所有遷移操作均圍繞該目錄展開(kāi)。

先通過(guò)以下命令確認(rèn)目錄信息:

#1. 查看默認(rèn)目錄是否存在

ls -ld /var/lib/docker

#2. 查看目錄占用空間(新目錄需至少滿足此空間)

du -sh /var/lib/docker

#3. (可選)查看當(dāng)前Docker數(shù)據(jù)目錄配置(驗(yàn)證默認(rèn)路徑)

docker info | grep "Docker Root Dir"

二、核心原理:兩種方案的底層邏輯對(duì)比

方案類型核心邏輯優(yōu)勢(shì)劣勢(shì)適用場(chǎng)景
軟鏈接方案通過(guò)ln -s創(chuàng)建 “舊路徑→新路徑” 的軟鏈接,系統(tǒng)訪問(wèn)舊路徑時(shí)自動(dòng)跳轉(zhuǎn)至新路徑無(wú)需改配置、操作簡(jiǎn)單、可逆性強(qiáng)依賴新路徑穩(wěn)定性(如掛載盤卸載會(huì)失效)臨時(shí)遷移、快速擴(kuò)展、不熟悉配置修改
配置修改方案編輯 Docker 配置文件(daemon.json),指定新數(shù)據(jù)目錄,Docker 直接讀取新路徑長(zhǎng)期穩(wěn)定、不依賴軟鏈接、適合生產(chǎn)環(huán)境需修改配置、操作步驟稍多長(zhǎng)期遷移、生產(chǎn)環(huán)境、新路徑固定

三、方案一:軟鏈接實(shí)現(xiàn)(快速遷移,無(wú)需改配置)

1. 操作步驟(同前序優(yōu)化版,核心為 “移動(dòng) + 軟鏈接跳轉(zhuǎn)”)

(1)停止 Docker 服務(wù)(必做,避免數(shù)據(jù)損壞)

#適用于Ubuntu/CentOS 7+/Debian等systemd系統(tǒng)

sudo systemctl stop docker

sudo systemctl disable docker  # 臨時(shí)禁用開(kāi)機(jī)啟動(dòng),防止操作中自動(dòng)重啟

#適用于CentOS 6等sysvinit系統(tǒng)

#sudo service docker stop

驗(yàn)證停止:sudo systemctl status docker 顯示 “inactive (dead)” 即成功。

(2)備份原目錄(可選但強(qiáng)烈建議)

#壓縮備份到/root目錄,文件名含日期便于區(qū)分

sudo tar -zcvf /root/docker-backup-\$(date +%Y%m%d).tar.gz /var/lib/docker

(3)移動(dòng)原目錄到新位置(示例新目錄:/data/docker

#1. 創(chuàng)建新目錄(父目錄不存在時(shí)自動(dòng)創(chuàng)建)

sudo mkdir -p /data/docker

#2. 移動(dòng)原目錄(保留文件權(quán)限、屬性,比復(fù)制更安全)

sudo mv /var/lib/docker /data/docker

驗(yàn)證移動(dòng):ls -l /data/docker 能看到containers、images等子目錄即成功。

(4)創(chuàng)建軟鏈接(舊路徑指向新路徑)

#命令格式:ln -s 新目錄 舊目錄(順序不可反?。?

sudo ln -s /data/docker /var/lib/docker

驗(yàn)證鏈接:ls -l /var/lib/ | grep docker 顯示 “/var/lib/docker -> /data/docker” 即正確。

(5)重啟 Docker 并驗(yàn)證

#恢復(fù)開(kāi)機(jī)啟動(dòng)+重啟

sudo systemctl enable docker && sudo systemctl start docker

#驗(yàn)證功能:查看鏡像、啟動(dòng)測(cè)試容器

sudo docker images  # 應(yīng)與遷移前一致

sudo docker run --rm hello-world  # 成功輸出歡迎信息即正常

四、方案二:修改配置文件(移動(dòng)文件 + 指定新目錄,長(zhǎng)期穩(wěn)定)

1. 操作步驟(核心為 “移動(dòng) + 配置指定新路徑”)

(1)停止 Docker 服務(wù)(同方案一,必做)

sudo systemctl stop docker

sudo systemctl disable docker

(2)備份原目錄(同方案一,防數(shù)據(jù)丟失)

sudo tar -zcvf /root/docker-backup-\$(date +%Y%m%d).tar.gz /var/lib/docker

(3)移動(dòng)原目錄到新位置(示例新目錄:/home/docker

#1. 創(chuàng)建新目錄

sudo mkdir -p /home/docker

#2. 移動(dòng)原目錄(與方案一一致,保留完整數(shù)據(jù)結(jié)構(gòu))

sudo mv /var/lib/docker /home/docker

(4)修改 Docker 配置文件(daemon.json

Docker 通過(guò)/etc/docker/daemon.json讀取自定義配置,若文件不存在需新建:

#1. 編輯/創(chuàng)建配置文件(用vim或nano,示例用vim)

sudo vim /etc/docker/daemon.json

#2. 寫入以下內(nèi)容(指定新數(shù)據(jù)目錄,路徑替換為你的實(shí)際新目錄)

{

 "data-root": "/home/docker"  # 關(guān)鍵配置:指定Docker新數(shù)據(jù)根目錄

}

#3. 保存退出(vim中按Esc,輸入:wq回車)

注意:若原文件已有內(nèi)容(如鏡像加速配置),只需新增"data-root": "新路徑",保持 JSON 格式正確(逗號(hào)分隔,無(wú)多余符號(hào))

示例:

{

 "registry-mirrors": ["https://xxx.mirror.aliyuncs.com"],  # 原有加速配置

 "data-root": "/home/docker"  # 新增的新目錄配置

}

(5)重載配置并重啟 Docker

#1. 重載systemd配置(使新的daemon.json生效)

sudo systemctl daemon-reload

#2. 恢復(fù)開(kāi)機(jī)啟動(dòng)+重啟Docker

sudo systemctl enable docker && sudo systemctl start docker

(6)驗(yàn)證配置與數(shù)據(jù)完整性

#1. 驗(yàn)證新目錄是否生效(查看Docker Root Dir是否為新路徑)

docker info | grep "Docker Root Dir"  # 應(yīng)顯示“Docker Root Dir: /home/docker”

#2. 驗(yàn)證數(shù)據(jù):查看鏡像、容器是否正常

sudo docker images

sudo docker ps -a

#3. 測(cè)試功能:?jiǎn)?dòng)測(cè)試容器

sudo docker run --rm hello-world

五、兩種方案的常見(jiàn)問(wèn)題排查

1. 共性問(wèn)題:Docker 啟動(dòng)失敗

#查看日志定位原因(核心排查手段)

sudo journalctl -u docker  # systemd系統(tǒng)

#或查看Docker原生日志

sudo cat /var/log/docker.log
  • 權(quán)限不足:新目錄需與原目錄權(quán)限一致(通常為root:root,權(quán)限 700):
#方案一/二通用,替換路徑為你的新目錄

sudo chown -R root:root /data/docker  # 或/home/docker

sudo chmod -R 700 /data/docker
  • 配置格式錯(cuò)誤(僅方案二)daemon.json格式錯(cuò)誤會(huì)導(dǎo)致啟動(dòng)失敗,可通過(guò)以下命令檢查格式:
#安裝jq工具(若未安裝)

sudo apt install jq  # Ubuntu/Debian

#或 sudo yum install jq  # CentOS/RHEL

#檢查配置文件格式

jq . /etc/docker/daemon.json  # 無(wú)報(bào)錯(cuò)則格式正確

2. 個(gè)性問(wèn)題

  • 軟鏈接無(wú)效(方案一)ls -l /var/lib/docker 若顯示 “broken link”,需重新創(chuàng)建軟鏈接(確保新目錄路徑正確,無(wú)拼寫錯(cuò)誤)。
  • 舊目錄殘留(方案二):遷移后/var/lib/docker可能為空目錄(因已移動(dòng)),可手動(dòng)刪除(需確認(rèn)備份完成):sudo rm -rf /var/lib/docker。

操作總結(jié)

兩種方案核心差異

  • 軟鏈接方案靠 “路徑跳轉(zhuǎn)”,無(wú)需改配置,適合臨時(shí)場(chǎng)景;
  • 配置修改方案靠 “主動(dòng)指定新路徑”,長(zhǎng)期穩(wěn)定,適合生產(chǎn)環(huán)境。

必遵循的核心原則

  • 無(wú)論哪種方案,必須先停止 Docker 服務(wù)(運(yùn)行中移動(dòng)會(huì)導(dǎo)致數(shù)據(jù)損壞);
  • 務(wù)必備份原目錄(遷移失敗可恢復(fù),尤其生產(chǎn)環(huán)境);
  • 新目錄需滿足 “空間充足 + 權(quán)限正確(root:root,700)+ 路徑穩(wěn)定”。

選擇建議

  • 臨時(shí)擴(kuò)展磁盤、快速遷移:選軟鏈接方案;
  • 生產(chǎn)環(huán)境、長(zhǎng)期固定新路徑:選配置修改方案。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • docker部署的mysql默認(rèn)密碼如何查看

    docker部署的mysql默認(rèn)密碼如何查看

    在使用Docker來(lái)部署MySQL數(shù)據(jù)庫(kù)時(shí),有時(shí)候我們希望能夠指定一個(gè)初始密碼來(lái)保護(hù)數(shù)據(jù)庫(kù)的安全性,下面這篇文章主要給大家介紹了關(guān)于docker部署的mysql默認(rèn)密碼如何查看的相關(guān)資料,需要的朋友可以參考下
    2024-05-05
  • docker安裝nginx容器的方法

    docker安裝nginx容器的方法

    Nginx也是一款服務(wù)器,我們常用它做如:反向代理、負(fù)載均衡、動(dòng)態(tài)與靜態(tài)資源的分離的工作,這篇文章主要介紹了docker安裝nginx,需要的朋友可以參考下
    2023-01-01
  • docker 限制容器對(duì)CPU的使用

    docker 限制容器對(duì)CPU的使用

    本篇文章主要介紹了docker 限制容器對(duì)CPU的使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • docker快速入門教程

    docker快速入門教程

    這篇文章主要為大家詳細(xì)介紹了docker快速入門教程,知識(shí)結(jié)構(gòu)簡(jiǎn)單,對(duì)docker有一個(gè)初步的認(rèn)識(shí),感興趣的小伙伴們可以參考一下
    2016-10-10
  • Docker 本地導(dǎo)入鏡像/保存鏡像/載入鏡像/刪除鏡像的方法

    Docker 本地導(dǎo)入鏡像/保存鏡像/載入鏡像/刪除鏡像的方法

    這篇文章主要介紹了Docker 本地導(dǎo)入鏡像/保存鏡像/載入鏡像/刪除鏡像的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • SpringCloud基于Docker和Docker-Compose的項(xiàng)目部署過(guò)程

    SpringCloud基于Docker和Docker-Compose的項(xiàng)目部署過(guò)程

    本文介紹了如何卸載舊版本Docker、更新系統(tǒng)、安裝Docker及其依賴,并設(shè)置國(guó)內(nèi)鏡像源以加快下載速度,詳細(xì)說(shuō)明了如何安裝Docker Compose、配置鏡像加速器,并展示了如何使用Docker Compose部署SpringCloud項(xiàng)目,提供了更新和重啟容器的方法
    2024-10-10
  • Docker buildx構(gòu)建多平臺(tái)鏡像并推送到私有倉(cāng)庫(kù)的方法

    Docker buildx構(gòu)建多平臺(tái)鏡像并推送到私有倉(cāng)庫(kù)的方法

    這篇文章主要介紹了Docker buildx構(gòu)建多平臺(tái)鏡像并推送到私有倉(cāng)庫(kù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • docker registry 鏡像同步的實(shí)現(xiàn)思路

    docker registry 鏡像同步的實(shí)現(xiàn)思路

    這篇文章主要介紹了docker registry 鏡像同步的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • docker安裝Wordpress速度過(guò)慢的問(wèn)題解決方法

    docker安裝Wordpress速度過(guò)慢的問(wèn)題解決方法

    Docker是一種開(kāi)源的容器化平臺(tái),可以幫助開(kāi)發(fā)者將應(yīng)用程序及其依賴項(xiàng)打包成一個(gè)獨(dú)立的容器,,WordPress是一個(gè)流行的開(kāi)源內(nèi)容管理系統(tǒng)(CMS),用于創(chuàng)建和管理網(wǎng)站,本文給大家介紹了docker安裝Wordpress速度過(guò)慢的問(wèn)題解決方法,需要的朋友可以參考下
    2024-05-05
  • docker部署mysql 實(shí)現(xiàn)遠(yuǎn)程連接的示例代碼

    docker部署mysql 實(shí)現(xiàn)遠(yuǎn)程連接的示例代碼

    這篇文章主要介紹了docker部署mysql 實(shí)現(xiàn)遠(yuǎn)程連接的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09

最新評(píng)論