【发布时间】:2017-09-04 06:08:52
【问题描述】:
所以我的 Dockerfile 通过 docker-compose 运行:
Dockerfile
FROM nginx
#COPY conf
COPY myapp/ /usr/share/nginx/html
RUN chmod -R 664 /usr/share/nginx/html
RUN chown -R nginx /usr/share/nginx/html
RUN chcon -R -t httpd_sys_content_t /usr/share/nginx/html
这是在 RHEL 6.x 上,Docker 是旧的 1.7 或其他版本。
对于大多数环境,我什至不需要“运行 chmod/chown/chcon”! dockerfile 在 Windows 上运行良好。
但是,每当 nginx 尝试访问 /usr/share/nginx/html 中的任何文件时,我仍然会收到 403 Forbidden 错误。
在 docker 容器中设置 nginx 并避免这些 SElinux 问题的正确方法是什么? (SElinux 处于“强制执行”状态)
事实上,如果你这样做了
运行/CMD ls -l
我们可以看到 nginx 是拥有该文件夹的用户,它具有正确的权限!那么到底发生了什么?
【问题讨论】:
标签: nginx docker dockerfile rhel