docker 把本地文件掛到docker httpd容器中打開web發(fā)現(xiàn)報錯凛捏。
[root@localhost ~]# docker run -p 8080:80 -d --name myweb2 -v $PWD/www/:/usr/local/apache2/htdocs/ httpd
b1695426b93c8c27021d10434ea9ec32304cb25d604dfe0102d98abc07ca6a2b
直接進(jìn)容器查看發(fā)現(xiàn)是權(quán)限問題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坯癣,在運行容器的時候瓶盛,給容器加特權(quán): --privileged=true
docker run -p 8080:80 -d --name myweb2 --privileged=true -v $PWD/www/:/usr/local/apache2/htdocs/ httpd
2,關(guān)閉selinux;
臨時關(guān)閉
selinux:su -c "setenforce 0"
永久關(guān)閉
sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
修改后測試示罗,正常運行惩猫。