Docker nginx SELinux(centOS/RHEL),403禁止进入

Docker nginx SELinux(centOS/RHEL),403禁止进入,nginx,docker,dockerfile,rhel,Nginx,Docker,Dockerfile,Rhel,因此,我的Dockerfile通过docker compose运行,使用: Dockerfile 这是在RHEL6.x上,Docker是旧的1.7或其他版本 对于大多数环境,我甚至不需要“运行chmod/chown/chcon”!!dockerfile在windows上运行良好 然而,每当nginx试图访问/usr/share/nginx/html中的任何文件时,我仍然会收到403个禁止的错误 在docker容器中设置nginx并避免这些SElinux问题的正确方法是什么?(SElinux正在“

因此,我的Dockerfile通过docker compose运行,使用:

Dockerfile 这是在RHEL6.x上,Docker是旧的1.7或其他版本

对于大多数环境,我甚至不需要“运行chmod/chown/chcon”!!dockerfile在windows上运行良好

然而,每当nginx试图访问/usr/share/nginx/html中的任何文件时,我仍然会收到403个禁止的错误

在docker容器中设置nginx并避免这些SElinux问题的正确方法是什么?(SElinux正在“强制执行”)

事实上,如果你这样做

运行/CMD ls-l


我们可以看到,nginx是拥有该文件夹的用户,它拥有正确的权限!那么到底是怎么回事?

与旧Docker 1.7.1和RHEL6相关的特殊情况意味着您必须安装RHEL7。SELinux不能很好地使用它。存在一些核心RHEL6库问题(共享库权限错误),使得Docker 1.7.1几乎无法使用

标签全错了。映像内的进程是不正确的init_rc_t类型标签。这些文件可以更改为httpd\u sys\u content\t,但它不起作用

我认为还可能存在一些nginx:nginx(UID-GID不匹配)问题


但实际上,这是放弃的时间。不值得花时间解决它,我的主机提供商也不会打电话给RHEL6询问此事。

与旧Docker 1.7.1和RHEL6相关的特殊情况意味着您必须安装RHEL7。SELinux不能很好地使用它。存在一些核心RHEL6库问题(共享库权限错误),使得Docker 1.7.1几乎无法使用

标签全错了。映像内的进程是不正确的init_rc_t类型标签。这些文件可以更改为httpd\u sys\u content\t,但它不起作用

我认为还可能存在一些nginx:nginx(UID-GID不匹配)问题

但实际上,这是放弃的时间。不值得花时间解决它,我的主机提供商也不会打电话给RHEL6询问此事

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