The ‘Docker’ is a simple Dockerfile for static builds. Since I use Gitlab Ci/CD, I push any code into Gitlab and then Gitlab runners will build the docker and push it out for production. However, in this scenario, I can only have one docker run since the session is not extracted away from the file system, but nonetheless, here is the Dockerfile that builds the docker for each CI/CD process, and this one is using Apache2:
##############################################################################
FROM ubuntu:18.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y apt-utils apache2 php7.2 php7.2-mysqli php7.2-fpm
libapache2-mod-php7.2
php-redis
php7.2-gd
php7.2-json
php7.2-mbstring
php7.2-recode
php7.2-xmlrpc \
ENV APACHE_RUN_USER www-data
ENV APACHE_RUN_GROUP www-data
ENV APACHE_PID_FILE /var/run/apache2.pid
ENV APACHE_RUN_DIR /var/run/apache2
ENV APACHE_LOCK_DIR /var/lock/apache2
COPY 000-default.conf /etc/apache2/sites-enabled/000-default.conf
COPY php.ini /etc/php/7.2/apache2
COPY php.ini /etc/php/7.2/fpm
COPY apache2.conf /etc/apache2/apache2.conf
COPY www/ /var/www/html
RUN rm /var/www/html/index.html && chmod -R 777 /var/www && a2enmod php7.2
CMD /usr/sbin/apachectl -D FOREGROUND
EXPOSE 80