php - 如何在 docker 中以 root 身份运行 php-fpm

标签 php docker

当我在 docker 中运行 php-fpm 时,默认帐户是 www-data ,但我想在 docker 中以 root 身份运行。

我将配置文件,用户和用户组编辑为root,但我不知道如何添加-R。所以容器无法运行。

最佳答案

如果您检查默认的 PHP-FPM 容器命令,您会看到它使用以下默认命令:php-fpm。您可以轻松地将其覆盖为 php-fpm -R

对于 docker-compose,我使用以下配置:

services:
  fpm:
    image: php:7.3-fpm
    volumes:
      - ./zzz-docker.conf:/usr/local/etc/php-fpm.d/zzz-docker.conf # Mount FPM config that runs FPM as root
    command: php-fpm -R # Allow running FPM as root

配置文件非常简单:

; Config to run PHP FPM as root (requires the -R flag to be passed to the entrypoint)
[www]
user = root
group = root

您可以构建一个自定义镜像,将此配置文件添加到您的 Dockerfile 中,而不是挂载自定义配置和更改命令,它将如下所示:

FROM php:7.3-fpm

COPY ./zzz-docker.conf /usr/local/etc/php-fpm.d/zzz-docker.conf

CMD ["php-fpm", "-R"]

这些示例中的zzz-docker.conf 文件位于项目的根目录中。

请记住,您应该了解以 root 身份运行 PHP-FPM 的安全风险。我将上述配置仅用于开发目的。

关于php - 如何在 docker 中以 root 身份运行 php-fpm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58423906/

相关文章:

php - 将 MySQL 表中拉取的数据保存到另一个表中

windows - 适用于 Windows 10 的 Docker

go - docker run 上的 Docker Golang onbuild 自定义操作

python - 将环境变量作为输入传递给Docker入口点

php - 在调用扩展内容时,WordPress是否保留格式?

php - 在 Google Analytics 中准确报告使用 PayPal 付款的推荐人

php - sqlite3 和 pdo_sqlite 有什么区别

php - 使用自定义构建环境插件时对Dockerfile的权限被拒绝

docker - npm install 在 Docker Hub 上安装期间显示颜色

docker - Docker构建在RUN pip install -e git <repo url>上失败