一、问题原因

因为 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

fnos 使用1panel安装docker后,系统应用无法安装,提示需要初始化docker

(二) 重新构建应用

1panel 运维面板-应用商店-已安装应用,对启动失败的应用点击 重建 按钮即可

作者声明本文存在利益相关性,请大家尊重作者及分享的内容,友善沟通,理性决策~

,

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。