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
修改后测试,正常运行。


docker 挂载目录到容器提示没有权限_第1张图片

你可能感兴趣的:(docker 挂载目录到容器提示没有权限)