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

猜你喜欢

转载自blog.csdn.net/m0_72838865/article/details/127012141
今日推荐