diff --git a/Dockerfile b/Dockerfile index cd27a0e..80b7a90 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM php:7.3-fpm-alpine +FROM alpine # Initial updates RUN apk update && \ @@ -6,7 +6,37 @@ RUN apk update && \ rm -rf /var/cache/apk/* /var/log/* # Install packages -RUN apk add --no-cache bash ca-certificates apache2 apache2-proxy shadow composer zip curl gd php7-pecl-yaml php7-pecl-memcached php7-gd php7-zip vim php7-ctype php7-curl php7-dom php7-json php7-mbstring php7-openssl php7-session php7-simplexml php7-xml php7-apcu php7-opcache php7-xdebug +RUN apk add --no-cache \ + apache2-proxy \ + php7-fpm \ + php7 \ + php7-apcu \ + php7-curl \ + php7-ctype \ + php7-dom \ + php7-common \ + php7-gd \ + php7-iconv \ + php7-json \ + php7-mbstring \ + php7-pecl-memcached \ + php7-openssl \ + php7-opcache \ + php7-pdo \ + php7-phar \ + php7-session \ + php7-simplexml \ + php7-soap \ + php7-xdebug \ + php7-xml \ + php7-pecl-yaml \ + php7-zip \ + composer \ + grep \ + git \ + curl \ + vim \ + shadow # Configure to use php fpm and don't use /var/www to store everything (modules and logs) RUN sed -i 's/LoadModule mpm_prefork_module/#LoadModule mpm_prefork_module/g' /etc/apache2/httpd.conf && \ @@ -22,7 +52,10 @@ RUN sed -i 's/LoadModule mpm_prefork_module/#LoadModule mpm_prefork_module/g' /e # Prepare env mkdir -p /var/log/apache2 && \ # Clean base directory and create required ones - rm -rf /var/www/* + rm -rf /var/www/* && \ + mkdir -p /run/apache2 /usr/local/apache && \ + ln -s /usr/lib/apache2 /usr/local/apache/modules && \ + ln -s /var/log/apache2 /usr/local/apache/logs COPY vhost.conf /etc/apache2/conf.d/vhost.conf @@ -42,7 +75,7 @@ RUN (crontab -l; echo "* * * * * cd /var/www/html;/usr/local/bin/php bin/grav sc RUN chown -R www-data:www-data /var/log/apache2 /var/www # Accept incoming HTTP requests -EXPOSE 80/tcp +EXPOSE 80 # Return to root user USER root @@ -50,7 +83,7 @@ USER root # provide container inside image for data persistence VOLUME ["/var/www"] -COPY run.sh /run.sh -RUN chmod u+x /run.sh +COPY run.sh /run.sh +RUN chmod u+x /run.sh -CMD ["sh", "-c", "php-fpm -F && service httpd start"] \ No newline at end of file +CMD ["/run.sh"] \ No newline at end of file diff --git a/run.sh b/run.sh index 0fbe6d9..2d96d4b 100644 --- a/run.sh +++ b/run.sh @@ -1,5 +1,5 @@ #!/bin/sh # Start PHP-FPM and Apache -php-fpm -service httpd start \ No newline at end of file +exec /usr/sbin/httpd -D FOREGROUND -f /etc/apache2/httpd.conf & +exec /usr/sbin/php-fpm7 -F \ No newline at end of file