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
相关推荐
吃饱了得干活16 小时前
Spring Cloud Gateway 微服务网关:路由、断言、过滤器
java·spring cloud
Patrick_Wilson4 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy4 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭4 天前
运行你的第一个Docker容器
后端·docker·容器
宋均浩5 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
程序员老赵6 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1116 天前
LM Studio Docker 部署——本地大模型一键启动
docker
曲幽7 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
武子康9 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
Alsn8612 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker