一、问题原因
因为 fnos 的 docker 存储位置在 /vol1/docker
,而 docker 升级或者重新安装后默认目录指向了 /var/lib/docker
目录,所以需要更改 docker 的存储位置。
二、解决
首先说一下小坑,如果升级 docker 后,并且在 /var/lib/docker
下安装使用了镜像,该目录下的镜像和容器似乎无法迁移,迁移到 /vol1/docker
后,更换存储路径会无法启动 dokcer 服务。
建议在更换存储路径前,备份好数据目录的数据和 docker-compose
文件,便于快速恢复容器。
(一) 查看默认存储路径
sudo docker info | grep Root Dir
输出
Docker Root Dir: /var/lib/docker
(二) 停止 docker 服务
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 服务
sudo service docker start
如果无法启动,需要删除 or 迁移原有的 /vol1/docker
目录下的内容,然后重新启动
(六) 验证docker 服务目录已更改
sudo docker info | grep Root Dir
输出
Docker Root Dir: /vol1/docker
三、1panel 已安装应用重启
docker
存储路径更换后,可能会导致 1panel docker
网络的 1panel-network
丢失,需要手动重新创建改网路名称
(一) 恢复1panel-network
在 1panel 运维面板中 容器-网络-创建网络
网络名-1panel-network
模式-bridge
子网-172.x.0.0/16 (不要和其他网络的子网重复即可)
网关-172.x.0.1 (x与子网x 取同值)
eg.
子网-172.20.0.0/16
网关-172.20.0.1
(二) 重新构建应用
1panel 运维面板-应用商店-已安装应用,对启动失败的应用点击 重建 按钮即可
作者声明本文存在利益相关性,请大家尊重作者及分享的内容,友善沟通,理性决策~
,