![](/img/trans.png)
[英]ownership of files that are written by the docker container to mounted volume
[英]Docker container not showing volume mounted - Access issue
root@centdev01$ grep -e CMD -e RUN Dockerfile
RUN apt-get update
RUN apt-get -y install ruby ruby-dev build-essential redis-tools
RUN gem install --no-rdoc --no-ri sinatra json redis
RUN mkdir -p /opt/webapp
RUN chmod 777 /opt/webapp
CMD ["/opt/webapp/bin/webapp"]
root@centdev01$ docker build -t "alok87/sinatra" .
root@centdev01$ docker run -d -p 80 --name ubunsin10 -v $PWD/webapp:/opt/webapp alok87/sinatra
25ekgjalgjal25rkg
root@centdev01$ docker logs ubunsin10
/opt/webapp/bin/webapp: Permission Denied - /opt/webapp/bin/webapp ( Errno:EACCESS)
问题是该卷正被安装到容器上,但是从容器上它并没有访问已安装的卷。 我可以CD到/ opt / webapp / bin,但不能ls / opt / webapp / bin。
请提出如何解决。 主机装载中包含所有具有777权限的文件。
Docker进程具有svirt_lxc_net_t默认类型。 默认情况下,这些过程都不允许访问在/ var内容,/根和/ home。
您已经为主机文件夹指定了合适的类型标签,以允许容器进程访问内容。 您可以通过为$ PWD / webapp文件夹指定类型标签svirt_sandbox_file_t来实现此目的 。
chcon -Rt svirt_sandbox_file_t $PWD/webapp
之后,您可以从容器中访问文件夹。 在Dan Walsh的文章中了解更多相关内容-为Docker带来新的安全功能
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.