0

我在 Dockerfile 的末尾有这个:

ENTRYPOINT service apache2 start

我得到这个记录:

 * Starting Apache httpd web server apache2 

然后我的容器将退出 - 它不应该是一个错误,我只是认为容器退出是因为该进程是一个守护进程。有没有办法让它保持打开状态?

4

2 回答 2

0

所以这应该是正确的答案:

CMD ["-D", "FOREGROUND"]
ENTRYPOINT ["apachectl"]

也就是说,如果您安装了 apache:

RUN apt-get install -y apache2
于 2019-05-21T00:34:10.307 回答
0

所以我可以让容器保持活力:

ENTRYPOINT service apache2 restart && /bin/bash -c "trap : TERM INT; sleep infinity & wait"

但我不知道如何将标准输出/标准错误从 Apache 获取到 Docker 容器的标准输出/标准错误,有人知道吗?如果我让容器保持活动状态,我可以确认 apache 正在运行。

我也找到了这个例子:

CMD ["-D", "FOREGROUND"]
ENTRYPOINT ["/usr/sbin/httpd"]

但我找不到我的 apache2 可执行文件的路径。

于 2019-05-21T00:24:12.870 回答