I am trying to setup a docker container using Apache 2.4 and PHP 5.6. I am using Alphine image from Php as my base image. When I execute the below command
apachectl -DFOREGROUND -e debug
it exits immediately. I do not see any error
[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
I have no idea why it would be the case. It seems using -D FOREGROUND
is the right option based upon my googling but for some reason it does not work for me.
Any ideas?
I have found the problem for why running apachectl -DFOREGROUND
does not start the httpd
process. It seems we need this mkdir -p /run/apache2
. Here is the full Dockerfile if anybody is interested. It is for PHP 5.6, Apache 2.4 on Alpine. I have decided to use httpd
instead of apachectl
as I want apache to die when the docker container stops. Using httpd
will attach the process to the current 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"]