httpd 和 php-fpm dockerfile,无法使用非 root 用户运行 php-fpm

时间:2021-05-04 14:33:17

标签: php docker apache dockerfile httpd.conf

座右铭是使用非 root 用户运行 docker 容器并陷入 php-fpm 错误。 无法弄清楚问题...

<块引用>

注意:[pool www] 'user' 指令在 FPM 未以 root 身份运行时被忽略

<块引用>

注意:[pool www] 'group' 指令在 FPM 未以 root 身份运行时被忽略

问题是它给出了同样的错误,即使我用另一个用户名更改了配置文件。 我已经在 www.conf 编辑了 /etc/php-fpm.d/www.conf 配置:

[www]
user = www-data
group = www-data

listen = /var/run/www.sock

listen.owner = www-data
listen.group = www-data
listen.mode = 0660
;listen.acl_users = apache,nginx

我还编辑了 httpd.conf 配置 /etc/httpd/conf/httpd.conf

Listen 8080
User www-data
Group www-data

包含所有安装过程的Dockerfile,我使用不同的用户来执行httpdphp-fpm。 此处 httpd 以非 root 身份运行,即 www-data,但 php-fpm 未以非 root 身份运行。 它给出的错误是

<块引用>

注意:[pool www] 'user' 指令在 FPM 未以 root 身份运行时被忽略

<块引用>

注意:[pool www] 'group' 指令在 FPM 未以 root 身份运行时被忽略

FROM amazonlinux:latest
MAINTAINER ********
RUN yum update -y
RUN amazon-linux-extras install -y lamp-mariadb10.2-php7.2 php7.2
RUN yum install -y httpd sudo
RUN yum install -y php-mbstring php-gd php-pecl-zip php-pdo
COPY sourcecode /var/www/html/
COPY httpd.conf /etc/httpd/conf/httpd.conf
COPY www.conf /etc/php-fpm.d/www.conf
RUN groupadd www-data && useradd -g www-data www-data -s /bin/bash
RUN chown -hR www-data:www-data /run/httpd/ && chown -hR www-data:www-data /var/www/ && chown -hR www-data:www-data /etc/httpd/ && chown -hR www-data:www-data /var/log/httpd/ && chown -hR www-data:www-data /etc/php* && chown -hR www-data:www-data /run/php-fpm && chown -hR www-data:www-data /var/log/php-fpm

#setcap to bind to privileged ports as non-root
RUN setcap 'cap_net_bind_service=+ep' /usr/sbin/httpd &&  getcap /usr/sbin/httpd

USER 1000
CMD /usr/sbin/php-fpm -D ; /usr/sbin/httpd -D FOREGROUND
EXPOSE 8080

可能是什么问题,我无法解决问题..! 有没有其他方法可以用非 root 运行容器?

0 个答案:

没有答案