selinux导致docker启动失败
1. 问题描述:一向运行正常的一群容器,突然有一天挂掉了,再也起不来,报错如下
Error response from daemon: devmapper: Error mounting '/dev/mapper/docker-253:0-155266-97eaf4ba0669a6a8f010204b29e0ba923a35e93aa9c47d5bb2c7b14db4c4e619' on '/var/lib/docker/devicemapper/mnt/97eaf4ba0669a6a8f010204b29e0ba923a35e93aa9c47d5bb2c7b14db4c4e619': invalid argument
Error: failed to start containers: gocd-server
2. 问题解决过程
经过谷歌搜索,定位到一篇文章https://github.com/moby/moby/issues/29622,跟selinux有关,但是查看本机的selinux已经是disabled状态了。
经过寻找蛛丝马迹发现,在我们装完一个系统时,当我们的selinux状态是enforcing的时候,我们做的第一件事可能就是临时修改为permissive,而修改配置文件为disabled,在docker容器死掉之前发现系统被重启过一次,怀疑问题原因为重启前和重启后selinux状态不一致导致。
最后关于这个问题得出的结论是:在创建容器的时候selinux状态为permissive,而重启后selinux状态为disabled,导致容器创建时和启动时selinux上下文不一致,原先正常的容器启动失败。解决方法是修改配置文件为permissive,重启系统。
同时我们忽略了一个问题,permissive是一个中立的状态,但不代表它没有自己的态度。
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
selinux导致docker启动失败的更多相关文章
- 因为错误关闭Selinux导致CentOS7启动失败(进度条卡死,图形界面加载卡死)
我在CentOS7上安装oracle,非常麻烦,搞半天终于安装完毕,当天我没有发现任何问题,第二天上班打开虚拟机CentOS7就进不去了. 我想起来之前关闭了Selinux,把系统名称改成了redha ...
- centos7下docker启动失败解决
docker启动失败解决 could not change group /var/run/docker.sock to docker: gr... not found 如果出现:Job for doc ...
- docker 启动失败 Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
CentOS7安装docker,安装成功后,启动失败 提示: 我们可以看到此处它提示是Failed to start Docker Application Container Engine. 于是在网 ...
- selinux 导致无法启动httpd
selinux 导致无法启动httpd ansible_dire:~ # /etc/init.d/httpd restart 停止 httpd: [失败]正在启动 httpd:(13)Permissi ...
- 云服务器 linux文件系统异常an error occurren during the file system check导致服务器启动失败
云服务器 linux文件系统异常an error occurren during the file system check导致服务器启动失败 文件系统宕机,重启后报错,无法启动 处理流程: 1.编辑 ...
- 解决nginx启动时域名解析失败而导致服务启动失败的问题
问题: nginx启动或者reload的时候,会对proxy_pass后面的域名进行DNS解析,如果解析失败,启动就会失败或者reload失败. 我们是to B的产品,客户的环境可能是不通公网的,因此 ...
- docker启动失败如何查看容器日志
docker启动失败如何查看容器日志 在使用docker的时候,在某些未知的情况下可能启动了容器,但是过了没几秒容器自动退出了.这个时候如何排查问题呢? 通常碰到这种情况无非就是环境有问题或者应用有问 ...
- SELinux导致的docker启动失败
安装docker yum install -y docker 启动docker systemctl start docker 报错 Job for docker.service failed beca ...
- SELinux 引起的 Docker 启动失败
问题描述 Linux OS 版本 CentOS Linux release 7.2.1511 (Core) 启动Docker service docker start 启动失败信息 原因分析 Erro ...
随机推荐
- 速成制作rpm包
FPM 由于很多软件在安装时需要编译,这会浪费不少的时间,为了提升部署效率,于是就想到制作rpm包.通常rpm包的制作是使用rpmbuild命令来制作,但是你需要知道它的语法,比较繁琐.这就用到了FP ...
- bzoj4826 [Hnoi2017]影魔
Description 影魔,奈文摩尔,据说有着一个诗人的灵魂.事实上,他吞噬的诗人灵魂早已成千上万.千百年来,他收集了各式各样的灵魂,包括诗人.牧师.帝王.乞丐.奴隶.罪人,当然,还有英雄.每一个灵 ...
- java线程(二)
线程范围变量 我们知道线程在cpu上的使用权并不是长时间的,因为计算机的cpu只有一个,而在计算上运行的进程有很多,线程就更不用说了,所以cpu只能通过调度来上多个线程轮流占用cpu资源运行,且为了保 ...
- 【BZOJ1001】[BeiJing2006]狼抓兔子
挺简单一个题,最小割模板 我的感觉就是可能建图的时候会比较麻烦吧,毕竟三个方向. #include <cctype> #include <climits> #include & ...
- 大数相加a+b
#include<stdio.h>#include<string.h>#define MAX 1000void Add(char *a,char *b,char *result ...
- 原生JS-----论数据类型检测
常见的数据类型检测的方法: 一.最为基础的typeof 二.不可不知的instanceof 三.比instanceof更好的constructor 四.检测值或者表达式的结果是否为NaN 五.易用的j ...
- OC—不可变字符串NSString
- ZooKeeper 入门
0 介绍 官网:http://zookeeper.apache.org/ ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护.名字服务.分 ...
- java基础---->hashMap的简单分析(一)
HashMap是一种十分常用的数据结构对象,可以保存键值对.它在项目中用的比较多,今天我们就来学习一下关于它的知识. HashMap的简单使用 一.hashMap的put和get方法 Map<S ...
- java多线程面试总结
一:基本知识点 1.1线程与进程区别: 1.进程是资源分配的最小单位,线程是CPU调度的最小单位 2.一个进程由一个或多个线程组成 3.进程之间相互独立,每个进程都有独立的代码和数据空间,但同一进程下 ...