溫馨提示×

docker數據在centos怎么遷移

小樊
36
2025-10-19 15:09:38
欄目: 智能運維

Docker數據在CentOS上的遷移步驟

1. 停止Docker服務

遷移前必須停止Docker服務,確保數據一致性,避免遷移過程中容器或鏡像被修改導致損壞。執行以下命令:

sudo systemctl stop docker

2. 確認當前Docker數據目錄

通過docker info命令查看當前Docker數據存儲路徑(關鍵信息為Docker Root Dir),默認通常是/var/lib/docker

sudo docker info | grep "Docker Root Dir"

3. 創建新的數據目錄

選擇目標存儲路徑(如/new/docker-data,可根據磁盤空間情況選擇,如/home或掛載的大容量分區),并創建目錄:

sudo mkdir -p /new/docker-data

4. 遷移現有數據到新目錄

使用rsync命令同步數據(保留文件權限、屬性及時間戳,避免數據損壞):

sudo rsync -avz /var/lib/docker/ /new/docker-data/

若數據量較小,也可用cp -a命令(-a參數保留所有屬性):

sudo cp -a /var/lib/docker/. /new/docker-data/

5. 修改Docker配置文件

編輯Docker配置文件/etc/docker/daemon.json(若文件不存在則創建),添加data-root字段指定新路徑:

sudo vim /etc/docker/daemon.json

內容如下(僅保留data-root,避免與其他配置沖突):

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

6. 處理SELinux(若啟用)

若系統啟用了SELinux,需修改新目錄的安全上下文,確保Docker能訪問:

sudo chcon -R system_u:object_r:container_var_lib_t:s0 /new/docker-data

7. 重啟Docker服務

加載新配置并啟動Docker:

sudo systemctl daemon-reload  # 重新加載systemd配置
sudo systemctl start docker   # 啟動Docker服務

8. 驗證遷移結果

  • 檢查Docker Root Dir是否為新路徑:
    docker info | grep "Docker Root Dir"
    
    預期輸出應顯示新路徑(如Docker Root Dir: /new/docker-data)。
  • 測試容器運行:啟動一個測試容器,驗證功能正常:
    docker run --rm hello-world
    

9. 清理舊數據(可選)

確認新路徑工作正常后,刪除舊數據目錄釋放空間:

sudo rm -rf /var/lib/docker

注意事項

  • 數據備份:遷移前務必備份重要數據(如用tar打包/var/lib/docker),防止誤操作導致數據丟失。
  • 權限問題:確保新目錄的權限為755,且Docker用戶(通常為root)有讀寫權限。
  • 磁盤空間:新目錄所在磁盤需有足夠空間容納現有Docker數據(可通過df -h檢查)。
  • 存儲驅動兼容性:確保新系統的存儲驅動(如overlay2)與舊系統一致,避免兼容性問題。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女