apachectl -DFOREGROUND立即退出

我正在尝试使用Apache 2.4和PHP 5.6来设置Docker容器。 我使用Php的Alphine图像作为我的基本图像。 当我执行下面的命令

apachectl -DFOREGROUND -e debug 

它立即退出。 我没有看到任何错误

 [Wed May 03 03:05:18.229549 2017] [so:debug] [pid 1111] mod_so.c(266): AH01575: loaded module unixd_module from /usr/lib/apache2/mod_unixd.so [Wed May 03 03:05:18.229633 2017] [so:debug] [pid 1111] mod_so.c(266): AH01575: loaded module authz_core_module from /usr/lib/apache2/mod_authz_core.so [Wed May 03 03:05:18.229696 2017] [so:debug] [pid 1111] mod_so.c(266): AH01575: loaded module log_config_module from /usr/lib/apache2/mod_log_config.so [Wed May 03 03:05:18.230021 2017] [so:debug] [pid 1111] mod_so.c(266): AH01575: loaded module logio_module from /usr/lib/apache2/mod_logio.so [Wed May 03 03:05:18.230120 2017] [so:debug] [pid 1111] mod_so.c(266): AH01575: loaded module mpm_prefork_module from /usr/lib/apache2/mod_mpm_prefork.so [Wed May 03 03:05:18.230395 2017] [so:debug] [pid 1111] mod_so.c(266): AH01575: loaded module alias_module from /usr/lib/apache2/mod_alias.so [Wed May 03 03:05:18.230485 2017] [so:debug] [pid 1111] mod_so.c(266): AH01575: loaded module authz_host_module from /usr/lib/apache2/mod_authz_host.so [Wed May 03 03:05:18.230569 2017] [so:debug] [pid 1111] mod_so.c(266): AH01575: loaded module dir_module from /usr/lib/apache2/mod_dir.so [Wed May 03 03:05:18.230723 2017] [so:debug] [pid 1111] mod_so.c(266): AH01575: loaded module mime_module from /usr/lib/apache2/mod_mime.so [Wed May 03 03:05:18.230873 2017] [so:debug] [pid 1111] mod_so.c(266): AH01575: loaded module negotiation_module from /usr/lib/apache2/mod_negotiation.so [Wed May 03 03:05:18.234418 2017] [so:debug] [pid 1111] mod_so.c(266): AH01575: loaded module php5_module from /usr/lib/apache2/libphp5.so [Wed May 03 03:05:18.234537 2017] [so:debug] [pid 1111] mod_so.c(266): AH01575: loaded module remoteip_module from /usr/lib/apache2/mod_remoteip.so [Wed May 03 03:05:18.234751 2017] [so:debug] [pid 1111] mod_so.c(266): AH01575: loaded module rewrite_module from /usr/lib/apache2/mod_rewrite.so [Wed May 03 03:05:18.234830 2017] [so:debug] [pid 1111] mod_so.c(266): AH01575: loaded module setenvif_module from /usr/lib/apache2/mod_setenvif.so [Wed May 03 03:05:18.235048 2017] [so:debug] [pid 1111] mod_so.c(266): AH01575: loaded module status_module from /usr/lib/apache2/mod_status.so 

我不知道为什么会这样。 似乎使用-D FOREGROUND是基于我的谷歌search的正确选项,但由于某种原因,它不适合我。

有任何想法吗?

我发现为什么运行apachectl -DFOREGROUND不启动httpd进程的问题。 看来我们需要这个mkdir -p /run/apache2 。 如果有人感兴趣,这里是完整的Dockerfile。 在Alpine上是PHP 5.6,Apache 2.4。 我决定使用httpd而不是apachectl因为我希望apache在Docker容器停止时死掉。 使用httpd将把进程附加到当前的shell。

 FROM php:5.6-alpine RUN apk update && apk upgrade && \ apk add --no-cache apache2 && \ apk add --no-cache apache2-utils && \ apk add --no-cache php5-apache2 && \ apk add --no-cache php5-mysql && \ apk add --no-cache php5-mysqli && \ apk add --no-cache php5-pear && \ apk add --no-cache php5-cgi && \ apk add --no-cache php5-curl && \ apk add --no-cache php5-dev && \ apk add --no-cache php5-fpm && \ apk add --no-cache php5-gd && \ apk add --no-cache php5-imagick && \ apk add --no-cache php5-imap && \ apk add --no-cache php5-intl && \ apk add --no-cache php5-json && \ apk add --no-cache php5-mcrypt RUN mkdir -p /run/apache2 ENTRYPOINT ["httpd", "-D", "FOREGROUND"] 
Interesting Posts