概述
最近在虚拟机上搞了一个docker,发现挂载宿主机目录到容器内时,容器无法访问此目录,在网上查了一下,是建立容器时,宿主机selinux未关闭导致的,随后博主关闭了selinux并重启虚拟机,发现之前的docker容器都没有了。。。。博主顿时慌得一比,最后还是度娘救了我~~~~
解决方式
1、进入如下文件夹
[[email protected] containers]# cd /var/lib/docker/containers/
[[email protected] containers]# ls
20170ebbdacad44f65f47f804266c02eb0f0a190b258316bc5d9789dd1780f67
2156e56d698ec87a165c66ab0cf6b551e56d01ffbed01258454a2778a501b72f
29067595db9f5b361a3dc51f09ff3379f156b8f6e6c643711edb7b089c377d3e
3b6139a35323f81b1769d73ec8c3df3a58a91eca4dc6434db7098537f44a0456
52052e1e94ea2e155dd5fcf52d7d7a10f4f3c294f69c86430f3f5bfa3a634867
60a91a8a5fd93d53e2243509c1ef43092ebb23a092187f61d8f4597e1a8d8865
65b302b4a941247b0a7f169bc525014541ea55a6106388489ce852170c464f2b
8c1a60b4298954575807ebe986f60b2f1f2dc66145995349145ae35803a4d53b
9c4a91bf876746051077925325f76432df7d85c62704b92b9f25efc944627307
9fa3d200a6b3177eb1ad341acad02f1bbef2817fdee577650c9f1ed5aed7bb61
d137663fa281c03dd4976a8c4e19784735cf521d7d8d40179ee602c1bbe3093f
d7f2c9ccdc1ebb7b136a48295bd458147bb5bface754f95f70d36e4b6d734b33
[[email protected] containers]#
2、修改某一容器内的配置文件, 将 MountLabel 和 ProcessLabel 两个参数的值设置为空"MountLabel":"",“ProcessLabel”:""
vim d7f2c9ccdc1ebb7b136a48295bd458147bb5bface754f95f70d36e4b6d734b33/config.v2.json
3、重启docker服务
systemctl restart docker
总结
selinux未关闭时创建的容器会包含一些selinux相关的参数,如果关闭了selinux,容器启动时就会出错。博主不太了解selinux,想来无非就是为虚拟机与容器提供安全保障,由于博主是测试环境,索性就关闭了它。
问题解决,神清气爽~~~~