Dockerfile 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. FROM ubuntu:bionic
  2. RUN apt-get update && \
  3. apt-get -y upgrade && \
  4. DEBIAN_FRONTEND=noninteractive apt-get -y install \
  5. apache2 php7.2 libapache2-mod-php7.2 libcap2-bin curl cron git
  6. RUN a2enmod php7.2
  7. #RUN sed -i "s/short_open_tag = Off/short_open_tag = On/" /etc/php/7.0/apache2/php.ini
  8. #RUN sed -i "s/error_reporting = .*$/error_reporting = E_ERROR | E_WARNING | E_PARSE/" /etc/php/7.0/apache2/php.ini
  9. ENV APACHE_RUN_USER www-data
  10. ENV APACHE_RUN_GROUP www-data
  11. ENV APACHE_LOG_DIR /var/log/apache2
  12. ENV APACHE_LOCK_DIR /var/lock/apache2
  13. ENV APACHE_PID_FILE /var/run/apache2.pid
  14. RUN rm -rf /var/www/html/*
  15. ADD . /var/www/html
  16. RUN chown -R www-data:www-data /var/www/html
  17. RUN touch /var/log/cron.log && chown www-data /var/log/cron.log && \
  18. touch /var/run/crond.pid && chown www-data /var/run/crond.pid && \
  19. setcap 'cap_setuid=+ep' /usr/sbin/cron
  20. RUN mkdir -p /var/log/apache2 && chown -R www-data /var/log/apache2 && \
  21. mkdir -p /var/run/apache2 && chown -R www-data /var/run/apache2 && \
  22. mkdir -p /var/lock/apache2 && chown -R www-data /var/lock/apache2 && \
  23. setcap 'cap_net_bind_service=+ep' /usr/sbin/apache2
  24. USER www-data
  25. RUN (crontab -l ; echo "* * * * * cd /var/www/html && php poll_adei_data.php >> /var/log/cron.log") | crontab
  26. RUN (crontab -l ; echo "* * * * * cd /var/www/html && php poll_HV_data.php >> /var/log/cron.log") | crontab
  27. ADD apache-config.conf /etc/apache2/sites-enabled/000-default.conf
  28. EXPOSE 80
  29. WORKDIR /var/www/html
  30. CMD cron && apache2ctl -D FOREGROUND