在 openEuler 中,Docker 的默認數據存儲目錄為?/var/lib/docker
(程序文件通常安裝在系統默認路徑,一般無需修改)。若需將 Docker 數據(鏡像、容器、卷等)存儲到指定目錄,可通過修改 Docker 配置實現。以下是具體步驟:
一、準備工作
安裝 Docker(若未安裝)
首先確保已安裝 Docker:# 安裝 Docker sudo dnf install docker -y# 暫時不啟動服務(后續需修改配置)
創建目標目錄
選擇一個磁盤空間充足的位置創建目錄(例如?/data/docker
),并設置權限:# 創建目錄 sudo mkdir -p /data/docker# 設置權限(確保 Docker 進程可訪問) sudo chmod 711 /data/docker
二、修改 Docker 數據存儲目錄
Docker 通過?daemon.json
?配置文件指定數據目錄,步驟如下:
創建 / 編輯配置文件
sudo vim /etc/docker/daemon.json
添加數據目錄配置
在文件中寫入以下內容(指定?data-root
?為目標目錄):{"data-root": "/data/docker" }
保存并退出(
:wq
)。遷移現有數據(若已使用過 Docker)
若之前已使用 Docker 并有數據(如鏡像、容器),需先遷移舊數據到新目錄:# 確保 Docker 處于停止狀態 sudo systemctl stop docker# 遷移數據(若/var/lib/docker存在) sudo cp -a /var/lib/docker/* /data/docker/
三、啟動 Docker 并驗證
啟動 Docker 服務
# 啟動服務 sudo systemctl start docker# 設置開機自啟 sudo systemctl enable docker
驗證配置是否生效
查看 Docker 信息,確認數據目錄已更新:sudo docker info | grep "Docker Root Dir"
若輸出?
Docker Root Dir: /data/docker
,則表示配置成功。
四、注意事項
SELinux 兼容性
若 openEuler 啟用了 SELinux,需為目標目錄設置正確的安全上下文,否則可能出現權限問題:# 為新目錄添加 SELinux 標簽(允許 Docker 訪問) sudo chcon -Rt container_file_t /data/docker
目錄權限
目標目錄需保證?root
?用戶可讀寫,避免因權限不足導致 Docker 啟動失敗。配置生效
修改?daemon.json
?后必須重啟 Docker 服務才能生效,且無需重新安裝 Docker。
通過以上步驟,即可將 Docker 數據存儲到指定目錄,適用于系統盤空間不足或需要集中管理數據的場景。
?