有人可能会想到禁用SELinux或者更换内核版本等方式解决。默认情况下使用overlayFS作为容器存储驱动程序(storage driver)。只需要将容器存储驱动程序切换为另一种类型即可。
在我的工作中,Docker是必不可少的一项技术。然而,在最近使用CentOS7时,我发现它居然无法正常启动Docker!这让我非常失望和沮丧。
创新互联是专业的白碱滩网站建设公司,白碱滩接单;提供做网站、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行白碱滩网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
首先,让我们来看看这个问题的具体表现。当我尝试运行“systemctl 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.
于是乎,我按照提示查看了日志文件,并找到了如下错误信息:
docker: Error starting daemon: SELinux is not supported with the overlay2 graph driver on this kernel. Either boot into a newer kernel or disable selinux in Docker's daemon.json file.
对此错误信息,有人可能会想到禁用SELinux或者更换内核版本等方式解决。但对于一个长期稳定支持企业级应用的操作系统来说,在遇到这种问题时只能束手无策地选择放弃吗?
其实并不是这样。经过多方调查和验证之后,我发现原因竟然出在CentOS7自身默认配置上!
具体来说,在CentOS7中,默认情况下使用overlayFS作为容器存储驱动程序(storage driver)。而由于overlayFS本身存在一些限制,例如不支持SELinux等,因此就导致了Docker无法正常启动。
那么该怎样解决这个问题呢?其实非常简单。只需要将容器存储驱动程序切换为另一种类型即可。
具体步骤如下:
1. 编辑Docker配置文件daemon.json
sudo vi /etc/docker/daemon.json
2. 在文件中添加以下内容:
{
"storage-driver": "devicemapper"
}
3. 保存并退出文件编辑模式
4. 重新启动Docker服务
systemctl restart docker.service
这样做之后,再次尝试运行“systemctl start docker”命令时,你会发现它已经可以正常工作了!
当然,在进行以上操作之前,请务必备份好你的数据以防意外发生。同时也要注意,在使用devicemapper作为容器存储驱动程序时可能会出现性能瓶颈等问题。
总结起来,CentOS7是一个优秀的操作系统,但在默认配置上还有改进的空间。对于像我这样依赖Docker技术的用户来说,遇到无法启动的情况真是让人沮丧。希望CentOS团队能够及时修复这类问题,并提供更加友好和稳定的默认配置方案!
当前题目:CentOS7下无法启动Docker:让我失望的操作系统
路径分享:http://www.gawzjz.com/qtweb2/news30/19130.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联