一、問題原因
因為 fnOS 的 docker 存儲位置在 /vol1/docker
,而 docker 升級或者重新安裝后默認目錄指向了 /var/lib/docker
目錄,所以需要更改 docker 的存儲位置。
二、解決
首先說一下小坑,如果升級 docker 后,并且在 /var/lib/docker
下安裝使用了鏡像,該目錄下的鏡像和容器似乎無法遷移,遷移到 /vol1/docker
后,更換存儲路徑會無法啟動 dokcer 服務(wù)。
建議在更換存儲路徑前,備份好數(shù)據(jù)目錄的數(shù)據(jù)和 docker-compose
文件,便于快速恢復(fù)容器。
(一) 查看默認存儲路徑
sudo docker info | grep Root Dir
輸出
Docker Root Dir: /var/lib/docker
(二) 停止 docker 服務(wù)
sudo service docker stop
(三) 備份默認存儲目錄(便于后期更換回默認路徑)
sudo mv /var/lib/docker /var/lib/docker.bak
(四) 更改存儲路徑
vim /etc/docker/daemon.json
增加 data-root/graph
字段
{ "data-root/graph": "/vol1/docker" }
(五) 啟動 docker 服務(wù)
sudo service docker start
如果無法啟動,需要刪除 or 遷移原有的 /vol1/docker
目錄下的內(nèi)容,然后重新啟動
(六) 驗證docker 服務(wù)目錄已更改
sudo docker info | grep Root Dir
輸出
Docker Root Dir: /vol1/docker
三、1panel 已安裝應(yīng)用重啟
docker
存儲路徑更換后,可能會導(dǎo)致 1panel docker
網(wǎng)絡(luò)的 1panel-network
丟失,需要手動重新創(chuàng)建改網(wǎng)路名稱
(一) 恢復(fù)1panel-network
在 1panel 運維面板中 容器-網(wǎng)絡(luò)-創(chuàng)建網(wǎng)絡(luò)
網(wǎng)絡(luò)名-1panel-network
模式-bridge
子網(wǎng)-172.x.0.0/16 (不要和其他網(wǎng)絡(luò)的子網(wǎng)重復(fù)即可)
網(wǎng)關(guān)-172.x.0.1 (x與子網(wǎng)x 取同值)
eg.
子網(wǎng)-172.20.0.0/16
網(wǎng)關(guān)-172.20.0.1
(二) 重新構(gòu)建應(yīng)用
1panel 運維面板-應(yīng)用商店-已安裝應(yīng)用,對啟動失敗的應(yīng)用點擊 重建 按鈕即可
作者聲明本文存在利益相關(guān)性,請大家尊重作者及分享的內(nèi)容,友善溝通,理性決策~
,