首页 > 解决方案 > 尝试通过 heroku 中的 supervisord 运行 apache 遇到 chown 问题

问题描述

我想在 heroku dyno 中运行一个小型 apache 应用程序。它位于一个 js 应用程序旁边,该应用程序调用 php 服务以获取少量请求。

此服务的 supervisord 配置是:

[program:pdf-service]
command=apachectl -D FOREGROUND
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
redirect_stderr=true

构建映像的 Dockerfile 执行以下操作:

COPY pdf /var/www/html
COPY pdf/apache2/ports.conf /etc/apache2/ports.conf 
COPY pdf/apache2/apache2.conf /etc/apache2/apache2.conf

当我在本地运行它时,这一切都很好(即构建 docker 容器然后运行它)。

但是,当我部署到 heroku 时,出现错误:

INFO spawned: 'pdf-service' with pid 9
chown: changing ownership of '/var/lock/apache2.A4FPKqG8rS': Operation not permitted
exited: pdf-service (exit status 1; not expected)

有谁知道为什么会发生这种情况/我如何避免它?

或者,我可以在自己的容器中启动 php 服务,然后在不使用私有空间的情况下从 js 调用它吗?我认为这是不可能的,因为测功机无法相互通信。

标签: phpapachedockerherokusupervisord

解决方案


推荐阅读