Docker启动故障问题 no such file or directory解决方法

最近使用容器,推荐使用3A 服务器搭建

1. 现象

服务重启后, 通过docker start 方式无法启动实例, 报出错误:

 Error response from daemon: error creating overlay mount to /var/lib/docker/overlay2/xxx/merged: no such file or directory


docker save 导出镜像也报出

2. 网上各种尝试摸索无效果

修改 daemon.json 中的 storage-driver overlay ,重启无效果。

禁用selinux ,临时或永久方式都无效果。

修改/etc/docker/daemon.json 中的 storage-driver overlay2 ,无效果。

修改/lib/systemd/system/docker.service 服务文件, 增加 Environment=DOCKER_SELINUX= selinux-enabled=false , 无效果。

最后是删除/var/lib 下的 docker 文件信息, 这招会导致数据丢失, 不能有效解决问题。

3. 有效解决方法

如果是没有做任何损坏docker 的操作,只是重启系统后, 不能有效启动 docker 实例, 可以通过以下方法进行解决:

1 、解决方法一:

通过docker commit 命令,先将容器实例进行保存,生成镜像, 然后通过镜像重新 run 实例, 发现可以有效启动。

2 、解决方法二:

出现/var/lib/docker/overlay2/xxx/merged 时, 手动创建对应的目录:

mkdir -p /var/lib/docker/overlay2/xxx/merged


然后赋权,就可以:

chmod 700 -R /var/lib/docker/overlay2/xxx/merged


如果无效, 出现以下错误:

docker-runc not installed on system


解决办法, 建立软链接:

ln -s /usr/libexec/docker/docker-runc-current /usr/bin/docker-runc


 


请使用浏览器的分享功能分享到微信等