目录
情景1,docker服务正常,因为存储空间等因素想变更存储目录
情景2,因为一些原因系统被删、docker服务没了但数据目录还在怎么恢复docker
情景1,docker服务正常,因为存储空间等因素想变更存储目录
,如新的存储目录是/opt/mnt/docker
修改/etc/docker/daemon.json文件,加入"graph": "/opt/mnt/docker"内容:
{
"graph": "/opt/mnt/docker"
}
迁移:
rsync -avz /var/lib/docker /opt/mnt/docker
重新加载配置并重启
systemctl daemon-reload && systemctl restart docker
完成了,docker info一下查看 Docker Root Dir是不是变了。
OK后删除原目录:rm -rf /var/lib/docker
情景2,因为一些原因系统被删、docker服务没了但数据目录还在怎么恢复docker
如果重装,则以下步骤是正确完整步骤:
1,重装系统,确保系统盘不使用数据所在的盘或分区,装完系统,此时机器上docker已不存在
2,安装docker(建议使用deb包安装很简便),确保安装成功,docker info查询是否正常显示docker信息,同时查看 Docker Root Dir, 一般默认是/var/lib/docker
3,核对自己以前机器的docker路径,比如以前的数据都在/opt/mnt/docker
4,查看/etc/docker下是否有daemon.json文件,没有则新建一个,按情景1设定完成/opt/mnt/docker目录。
5,验证以前的容器等数据是否正常
/opt/mnt/docker/image/overlay2/imagedb/metadata/sha256/下面是以前的镜像
/opt/mnt/docker/image/overlay2/repositories.json下面是已有的容器与镜像配置
等等,只要以前的docker数据存储目录还在,这些数据都是分文未动、原模原样的。
这时候你docker images查看,就都和以前一模一样了。