docker 运行出错 Error response from daemon: error creating overlay mount to /var/lib/docker/overlay2/007

目录 文章
docker 运行出错 Error response from daemon: error creating overlay mount to /var/lib/docker/overlay2/007-下一朵云

docker 运行出错 Error response from daemon: error creating overlay mount to /var/lib/docker/overlay2/007

在某次关机之后,开机后启动docker容器时报错误

Error response from daemon: error creating overlay mount to /var/lib/docker/overlay2/007018df729636dd7c3d22ea683d13b6f5f0657b7c2c9e0014c671id argument.

网上好多解决办法都是把overlay2改成overlay1,对于docker中有一大堆镜像的机器来说,这个解决办法并不现实。

这个问题的是由于selinux造成的

CentOS的selinux是关闭的,而docker上的selinux却是开启的,因此docker运行时会产生如上错误。

解决方案无非是要么都关闭,要么都开启。参看https://github.com/coreos/bugs/issues/2340

推荐修改CentOS下的/etc/selinux/config 将SELINUX=disabled 改成 SELINUX=permissive

vi /etc/selinux/config
# 找到SELINUX=enable修改为SELINUX=permissive
SELINUX=permissive
# 保存
:wq

**修改docker关闭selinux

vi /etc/sysconfig/docker
# 找到OPTIONS="--selinux-enabled --log-driver=journald --signature-verification=false"
# 删除 --selinux-enabled
OPTIONS="--log-driver=journald --signature-verification=false"
# 保存
:wq

另外docker 18.09已经废弃使用overlay了,overlay2存储才是今后所支持的,因此不建议按照csdn上某文章的教程那样将docker的存储驱动改回overlay1。改回overlay1的方式只是治标不治本

正解是改掉selinux