docker 挂载目录到容器提示没有权限

docker 把本地文件挂到docker httpd容器中打开web发现报错。

[root@localhost ~]#  docker run -p 8080:80 -d --name myweb2 -v $PWD/www/:/usr/local/apache2/htdocs/ httpd
b1695426b93c8c27021d10434ea9ec32304cb25d604dfe0102d98abc07ca6a2b

直接进容器查看发现是权限问题Permission denied

[root@localhost ~]# docker exec -it myweb2 bash
root@b1695426b93c:/usr/local/apache2# ls
bin  build  cgi-bin  conf  error  htdocs  icons  include  logs  modules
root@b1695426b93c:/usr/local/apache2# cd htdocs/
root@b1695426b93c:/usr/local/apache2/htdocs# ls
ls: cannot open directory .: Permission denied

查了一下资料是SELINUX问题,可以通过以下方法解决。
1,在运行容器的时候,给容器加特权: --privileged=true
docker run -p 8080:80 -d --name myweb2 --privileged=true -v $PWD/www/:/usr/local/apache2/htdocs/ httpd
2,关闭selinux;
临时关闭
selinux:su -c "setenforce 0"
永久关闭
sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
修改后测试,正常运行。


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、镜像相关 1、如何批量清理临时镜像文件 答:可以使用 docker rmi $(docker images -...
    天夭夭阅读 10,756评论 0 7
  • 来源:Docker容器安全监控系统设计与实现_简智强 Docker安全是Docker团队和广大使用者都极为...
    peerless_1024阅读 8,161评论 1 3
  • Docker容器启动的时候,如果要挂载宿主机的一个目录,可以用-v参数指定。 譬如我要启动一个centos容器,宿...
    荒原_狼阅读 5,626评论 0 1
  • 《Docker从入门到实践》阅读笔记 原书地址: https://yeasy.gitbooks.io/docker...
    GuoYuebo阅读 13,930评论 1 39
  • 生活是一张网 不能上不能下 不能左不能右 坠落 是一个自由的洞 你望着它 却不敢撕裂身上的绳结 每一个断开的点 在...
    宁蓝凌阅读 1,805评论 0 0

友情链接更多精彩内容