最近在 centos7.1 使用 docker 运行 redis 镜像, 出现下面的错误:
- /usr/bin/docker-current: Error response from daemon: error creating overlay mount to /var/lib/docker/overlay2/65f3c109fb903539820f84856d2725af784f2f03f95b1f0214e34184e4d61ff7-init/merged: invalid argument.
- See '/usr/bin/docker-current run --help'.
在网上搜索一番后, 一个可行的方案如下 (改变 storage driver 类型, 禁用 selinux):
停止 docker 服务
systemctl stop docker
清理镜像
rm -rf /var/lib/docker
修改存储类型
vi /etc/sysconfig/docker-storage
把空的 DOCKER_STORAGE_OPTIONS 参数改为 overlay:
DOCKER_STORAGE_OPTIONS="--storage-driver overlay"
禁用 selinux
vi /etc/sysconfig/docker
去掉 option 的 --selinux-enabled
启动 docker 应该就可以了
systemctl start docker
方案抄自 Ysssssssssssssss 的博客 https://blog.csdn.net/Ysssssssssssssss/article/details/79596367 和 redis 的讨论: error creating overlay mount to .../merged: invalid argument. https://github.com/coreos/bugs/issues/2340 , 基本可以确定是启用 selinux 导致的.
来源: http://www.tuicool.com/articles/7bi26jA