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

修改后测试,正常运行。

44e9fde8e5af

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐