Linux下将docker系统从根目录迁移至另一个硬盘,发现存在新硬盘的存储驱动不支持overlay2的问题与解决方法

服务器配置:

NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.6 LTS"
VERSION_ID="20.04"

一、停止docker系统

sudo systemctl stop docker.socket
sudo systemctl stop docker

通过上述命令,可将docker系统停止,若只使用第2条命令,会出现无法停止的情况

二、迁移docker所有数据

我准备将docker迁移到/mnt/data2这个磁盘里,先在这个目录下创建一个docker文件夹,

1.首先先备份一份数据,然后执行命令:

sudo rsynv -aP /var/lib/docker/ /mnt/data2/docker/

2.然后修改docker配置文件

sudo vim /etc/docker/daemon.json

添加以下内容

{
    "data-root": "/mnt/data2/docker",
    ...
    ...
}

更新配置文件

sudo systemctl daemon-reload

重启docker

sudo systemctl start docker.socket
sudo systemctl start docker

三、踩的坑

若成功启动,可验证是否修改

docker info | grep "Docker Root Dir"

若启动失败,可能是由于迁移的磁盘存储驱动不同导致的,可先使用以下命令查看错误原因

dockerd

以我们的服务器为例,根目录和/mnt/data2的存储类型不同

/ ext4 
/mnt/data2 fuseblk

导致docker不能正常启动,经查找后,在daemon.json配置文件中添加以下命令后,docker可以启动

{
    "storage-driver": "vfs",
    ...
    ...
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值