phpapache/Dockerfile

40 lines
1.6 KiB
Docker

FROM "php:7.1-apache"
MAINTAINER "Julien Cabillot <dockerimages@cabillot.eu>"
RUN sed -i'' 's/^Listen 80$/Listen 8080/' "/etc/apache2/ports.conf" && \
sed -i'' 's/^<VirtualHost \*:80>$/<VirtualHost *:8080>/' '/etc/apache2/sites-enabled/000-default.conf' && \
echo "RemoteIPHeader X-Real-IP\nRemoteIPProxiesHeader X-Forwarded-By" > "${APACHE_CONFDIR}/conf-available/remoteip.conf" && \
a2enconf remoteip && \
a2enmod remoteip && \
apt-get -y autoremove --purge && \
apt-get -y clean all && \
rm -rf "/usr/share/doc/*" \
"/var/cache/*" \
"/var/lib/apt/lists/*" \
"/usr/src/*" \
"/var/cache/*" \
"/var/log/"{apt/*,dpkg.log} \
"/var/www/html" \
"/tmp/*" && \
install --directory --group="www-data" --owner="www-data" --mode="2770" "/var/www/html" && \
# On active les logs sur stderr (apache + php)
sed -ri 's#^(\s*ErrorLog)\s+\S+#\1 /proc/self/fd/2#g;' "/etc/apache2/apache2.conf" && \
sed -ri ' \
s#^(\s*CustomLog)\s+\S+#\1 /proc/self/fd/1#g; \
s#^(\s*ErrorLog)\s+\S+#\1 /proc/self/fd/2#g; \
' "/etc/apache2/sites-enabled/000-default.conf" && \
echo "error_reporting=E_ALL\nerror_log=/proc/self/fd/2\nlog_errors=On" > "/usr/local/etc/php/conf.d/error.ini"
# Add Tini
ENV "TINI_VERSION" "v0.16.1"
ADD "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini" "/tini"
RUN chmod +x "/tini"
ENTRYPOINT ["/tini", "--"]
CMD [ "docker-php-entrypoint", "apache2-foreground" ]
EXPOSE "8080/tcp"
HEALTHCHECK --interval="10s" \
CMD curl --fail "http://localhost:8080" || exit 1