天天看点

Centos下docker相关文件迁移发生的问题记录

故事背景:

在服务器配置docker新镜像的时候,提示no space left on device,通过df -h发现是服务器的主要存储空间用完了,因此需要将docker相关的文件迁移到其他的磁盘,释放相应主存储空间

————————————————————————————————————————————————————

文件迁移:

参考https://forums.docker.com/t/how-do-i-change-the-docker-image-installation-directory/1169中的方法

首先停止所有的docker服务 service docker stop

确认下目前的docker目录 ls /var/lib/docker

然后备份原有的相关文件 tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(date +%s).tar.gz

接着进行文件的拷贝 mv /var/lib/docker /mnt/pd0/docker

然后在原地址设置数据链接 ln -s /mnt/pd0/docker /var/lib/docker

最后重启docker服务 service docker start

————————————————————————————————————————————————————

系统报错:

在最后重启docker服务的时候,系统报错

Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details

Centos下docker相关文件迁移发生的问题记录

通过journalctl -u docker.service查看了详细日志之后,发现问题是

level=error msg="[graphdriver] prior storage driver overlay2 failed: driver not supported"

failed to start daemon: error initializing graphdriver: driver not supported

—————————————————————————————————————————————————————

解决方案:

参考http://www.imooc.com/article/details/id/70557

在/etc/docker目录下的daemon.json文件中,进行相关内容的增加

{

  xxxxxxxxxxxxxxxxxxx, #原有的部分

  "storage-driver": "overlay2",

  "storage-opts": [

    "overlay2.override_kernel_check=true"

  ]

}

再重启服务,systemctl start docker(或者service docker start ,但也会重定向到括号外的命令),成功启动!

————————————————————————————————————————————————————

下一个问题:

成功启动docker服务后,不能加载镜像

Centos下docker相关文件迁移发生的问题记录

查了docker官方文档后发现

Centos下docker相关文件迁移发生的问题记录

overlay2存储驱动仅支持xfs和ext4,而我将docker相关文件移动到了ntfs系统中,两者并不兼容

继续阅读