迁移/var/lib/docker时,如果目标目录少写一个/,/etc/docker/daemon.json中的data-root后面需要多加一级目录docker。
若迁移命令如下
rsync -avz /var/lib/docker /home/docker/
在/etc/docker/daemon.json中添加如下内容
"data-root": "/home/docker"
若迁移命令如下
rsync -avz /var/lib/docker /home/docker
在/etc/docker/daemon.json中添加如下内容
"data-root": "/home/docker/docker"
重启docker
systemctl daemon-reloadsystemctl restart dockersystemctl enable docker
此外,还需要对迁移之后的目录添加docker用户权限
1. 调整目录权限
为了确保 Docker 相关目录可以被 docker
用户组的成员访问,你需要修改权限,确保 docker
用户组能够访问所有相关目录。
你可以使用以下命令,修改 /home/docker
下的所有目录的权限,使得 docker
用户组具有适当的访问权限:
sudo chmod -R 770 /home/docker
这个命令会给 /home/docker
下的所有目录和文件赋予 docker
用户组完全的读、写、执行权限,且其他用户无法访问。
2. 确保目录所有权正确
你还需要确保 /home/docker
目录及其子目录的所有者和用户组是 root:docker
。使用以下命令来修改所有者和用户组:
sudo chown -R root:docker /home/docker