nginx:[emerg] open()“ /var/run/nginx.pid”失败(13:权限被拒绝)

时间:2019-08-09 09:29:11

标签: docker nginx grafana

我有以下docker文件

autovideosink

当我构建它并尝试运行一个容器时,它没有问题,但是我无法访问Nginx代理后面的网站,所以我检查了docker日志,发现

FROM grafana/grafana
EXPOSE 8080 8080
COPY config /config
COPY start-nginx-grafana.sh /start-nginx-grafana.sh
USER root
RUN apt-get update && apt-get install -y nginx
RUN chown -R grafana:grafana /etc/nginx/nginx.conf /var/log/nginx /var/lib/nginx /start-nginx-grafana.sh
RUN chmod +x /start-nginx-grafana.sh /etc/nginx/nginx.conf /var/log/nginx /var/lib/nginx
USER grafana
RUN cp /config/nginx.conf /etc/nginx/nginx.conf
ENTRYPOINT [ "/start-nginx-grafana.sh" ]

和我的Nginx配置如下

nginx: [warn] the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
nginx: [emerg] open() "/var/run/nginx.pid" failed (13: Permission denied)

我该如何修复 nginx:[emerg] open()“ /var/run/nginx.pid”失败(13:权限被拒绝),而我做错了。

1 个答案:

答案 0 :(得分:1)

您与用户grafana

一起运行所有进程

警告状态:主nginx进程不是超级用户。

grafana用户无权访问文件/var/run/nginx.pid

我建议您从USER grafana中删除Dockerfile,并使用以下命令在脚本中运行grafana

runuser -l grafana -c "...."