Sam*_*der 5 php nginx google-compute-engine docker alpine-linux
我已经搜索过,但似乎找不到此错误的答案。创建新虚拟机时出现“错误:无法删除非 root 用户的权限”。
容器不断重新启动。它在我本地的 MacOS 机器上运行得很好。
我正在尝试在具有容器优化操作系统的 Google Compute Engine VM 上运行该映像。我正在使用 nginx、php-fpm 和 alpine。
Supervisord.conf 文件如下所示:
[supervisord]
nodaemon=true
logfile=/dev/null
logfile_maxbytes=0
pidfile=/run/supervisord.pid
user=root
[program:php-fpm]
command=php-fpm8 -F
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
autostart=true
autorestart=true
priority=5
stdout_events_enabled=true
stderr_events_enabled=true
[program:nginx]
command=nginx -g 'daemon off;'
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
autorestart=false
startretries=0
Run Code Online (Sandbox Code Playgroud)
有人也遇到过这个错误吗?
这看起来像是您正在尝试以非 root 身份启动 Supervisor。
您的配置文件告诉 Supervisor 以 root 身份运行,但如果您以非 root 用户身份启动它,则它无法以 root 权限启动进程。由于安全原因,在3.3.4版本中进行了更改:
修复了如果配置文件的 [supervisord] 部分指定 user= 但对该用户的 setuid() 失败,supervisord 将继续启动的错误。如果它不能放弃特权,它现在将立即退出。
看看这个讨论;
您可以完全删除
user=root,这将允许supervisord 以root 或非root 身份启动。当以 root 身份运行时,这会产生在日志中打印警告消息的副作用,因为我们建议在以 root 身份运行时使用 user= 。假设 Supervisord 启动的环境包含该变量USER并将其设置为当前用户,您应该能够以user=%(ENV_USER)s任一用户身份运行。
服务器故障中讨论了另一个类似的问题。
| 归档时间: |
|
| 查看次数: |
5857 次 |
| 最近记录: |