【问题标题】:New Relic PHP Agent Kubernetes (GKE)New Relic PHP 代理 Kubernetes (GKE)
【发布时间】:2022-11-10 12:36:38
【问题描述】:

您能否建议使用 docker 文件为 www-data 用户设置权限,以便在 GKE 上运行的 docker 容器中启动 PHP 代理。请指教。

    FROM php:7.4-fpm as test

RUN \
  curl -L https://download.newrelic.com/php_agent/release/newrelic-php5-10.1.0.313-linux.tar.gz | tar -C /tmp -zx && \
  export NR_INSTALL_USE_CP_NOT_LN=1 && \
  export NR_INSTALL_SILENT=1 && \
  /tmp/newrelic-php5-*/newrelic-install install && \
  rm -rf /tmp/newrelic-php5-* /tmp/nrinstall* && \
  sed -i \
      -e 's/"REPLACE_WITH_REAL_KEY"/"My-Key"/' \
      -e 's/newrelic.appname = "PHP Application"/newrelic.appname = "test"/' \
      -e 's/;newrelic.daemon.app_connect_timeout =.*/newrelic.daemon.app_connect_timeout=15s/' \
      -e 's/;newrelic.daemon.start_timeout =.*/newrelic.daemon.start_timeout=5s/' \
      /usr/local/etc/php/conf.d/newrelic.ini


USER www

php app related build. etc....

非常感谢。

【问题讨论】:

  • 如果以下答案满足您的答案,请随时更新问题的状态,如果发现有帮助,请点赞。

标签: google-kubernetes-engine newrelic newrelic-platform


【解决方案1】:

在您的 docker 文件中,您将用户更改为 USER www,因为它没有运行。

正如错误建议的那样,它预计将由用户,以便您可以删除用户 www来自 docker 的行并尝试构建一个新的 docker 镜像--无缓存它将开始使用root。

官方参考:https://docs.newrelic.com/docs/apm/agents/php-agent/advanced-installation/docker-other-container-environments-install-php-agent/

【讨论】:

  • 谢谢您的答复。如果我切换到 root,我的应用程序也在我想要避免的 root 下运行。根据 New Relic 文档,安装需要 root 权限。但它不需要运行代理。 “运行代理不需要root访问权限。代理确实需要对以下文件的读/写访问权限(这些文件的位置可以是”docs.newrelic.com/docs/apm/agents/php-agent/troubleshooting/determine -permissions-requirements-php/ 我正在寻找一种解决方法来使用 USER www 启动代理。
  • 是否可以在 root 下运行 New Relic 并在 www 下运行我的应用程序。 (两个用户)?
  • 您可以在 linux 中使用 addgroup 命令创建组,或者使用 chmod 或 chown 更改文件权限以更改文件的所有权。您可以简单地创建组或用户并简单地使用它
  • 您可以RUN useradd -ms /bin/bash admin, COPY --chown=admin:admin app /app 更改文件权限并根据需要更改用户。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多