欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Docker run 容器使用-v挂载目录总会启动失败的解决方案

程序员文章站 2022-03-03 09:04:47
...

问题:docker run一个容器,并且挂载了目录;但是总是启动失败【docker ps 后发现没有启动】

[[email protected] 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
[[email protected] 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规则,将要挂载的目录添加到白名单

[[email protected] tomcat]# chcon -Rt svirt_sandbox_file_t /home/dockerfile/tomcat/test
[[email protected] tomcat]# chcon -Rt svirt_sandbox_file_t /home/dockerfile/tomcat/logs

再重新创建容器即可。

相关标签: docker tomcat