阻止apache2 / http2作为Docker容器的守护进程运行?

时间:2019-05-21 00:04:13

标签: apache docker apache2 daemon docker-run

我在Dockerfile的末尾有这个

ENTRYPOINT service apache2 start

我将其记录下来:

 * Starting Apache httpd web server apache2 

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

2 个答案:

答案 0 :(得分:0)

因此,我可以使用以下方法使容器保持活动状态:

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

但是我不知道如何将Apache的stdout / stderr获取到Docker容器的stdout / stderr,有人知道吗?如果我保持容器存活,我可以确认apache正在运行。

我也找到了这个例子:

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

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

答案 1 :(得分:0)

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

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

也就是说,如果您使用以下命令安装了apache:

RUN apt-get install -y apache2