Docker迁移/var/lib/docker之后镜像容器丢失问题

迁移/var/lib/docker时,如果目标目录少写一个/,/etc/docker/daemon.json中的data-root后面需要多加一级目录docker。

若迁移命令如下

bash 复制代码
rsync -avz /var/lib/docker /home/docker/

在/etc/docker/daemon.json中添加如下内容

bash 复制代码
"data-root": "/home/docker"

若迁移命令如下

bash 复制代码
rsync -avz /var/lib/docker /home/docker

在/etc/docker/daemon.json中添加如下内容

bash 复制代码
"data-root": "/home/docker/docker"

重启docker

bash 复制代码
systemctl daemon-reload
 
systemctl restart docker
 
systemctl enable docker

此外,还需要对迁移之后的目录添加docker用户权限

  1. 调整目录权限

为了确保 Docker 相关目录可以被 docker 用户组的成员访问,你需要修改权限,确保 docker 用户组能够访问所有相关目录。

你可以使用以下命令,修改 /home/docker 下的所有目录的权限,使得 docker 用户组具有适当的访问权限:

bash 复制代码
sudo chmod -R 770 /home/docker

这个命令会给 /home/docker 下的所有目录和文件赋予 docker 用户组完全的读、写、执行权限,且其他用户无法访问。

2. 确保目录所有权正确

你还需要确保 /home/docker 目录及其子目录的所有者和用户组是 root:docker。使用以下命令来修改所有者和用户组:

bash 复制代码
sudo chown -R root:docker /home/docker
相关推荐
encoding-console39 分钟前
Centos7部署k8s(单master节点安装)
docker·云原生·容器·kubernetes·部署·集群·centos7
reddingtons1 小时前
在 Ubuntu 下通过 Docker 部署 Caddy 和 PHP-FPM 服务器
服务器·ubuntu·docker
酥暮沐2 小时前
Docker 学习(一)
运维·docker·容器
CT随3 小时前
Eureka Server 数据同步原理解析
云原生·eureka
爱生活,更爱技术6 小时前
SpringCloud + Spring AI Alibaba 整合阿里云百炼大模型
spring·spring cloud·阿里云
猫咪钓鱼8 小时前
Windows 上通过 VScode 配置 Docker
windows·vscode·docker
伪_装8 小时前
Linux服务器部署Deepseek、Dify、RAGflow实战教程
linux·服务器·docker·huggingface·dify·ollama·ragflow
m0_748238788 小时前
开源轻量级文件分享服务Go File本地Docker部署与远程访问
docker·golang·开源
事业运财运爆棚10 小时前
避坑!用Docker搞定PHP开发环境搭建(Mac、Docker、Nginx、PHP-FPM、XDebug、PHPStorm、VSCode)
macos·docker
桃之夭夭ღ10 小时前
Docker入门指南:Windows下docker配置镜像源加速下载
windows·docker·容器