问题:docker run一个容器,并且挂载了目录;但是总是启动失败【docker ps 后发现没有启动】
[root@localhost tomcat]# docker run -d -p 9090:8080 -v /home/dockerfile/tomcat/test:/usr/local/apache-tomcat-8.5.61/webapps/test -v /home/dockerfile/tomcat/logs/:/usr/local/apache-tomcat-8.5.61/logs --name yjytomcat diytomcat
b13fc0b57b9fc17019bc8119cb572677889d663f24813150506f381842066c2d
[root@localhost tomcat]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2c245c597ae4 portainer/portainer "/portainer" 2 days ago Up 6 hours 0.0.0.0:8088->9000/tcp optimistic_lamport
原因:CentOS7中的安全模块selinux把权限禁掉了,无法使用-v命令进行挂载
解决方案:添加selinux规则,将要挂载的目录添加到白名单。。。。
[root@localhost tomcat]# chcon -Rt svirt_sandbox_file_t /home/dockerfile/tomcat/test
[root@localhost tomcat]# chcon -Rt svirt_sandbox_file_t /home/dockerfile/tomcat/logs
再重新创建容器即可。
在尝试使用Docker run命令挂载目录启动容器时遇到失败,原因是CentOS7的selinux安全模块禁止了该操作。为解决此问题,需要添加selinux规则,将挂载目录加入白名单,然后重新创建容器,即可成功启动。

2569

被折叠的 条评论
为什么被折叠?



