Dockerfile 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. FROM php:7.3-apache
  2. ENV PHP_INI_DATE_TIMEZONE 'UTC'
  3. ENV PHP_INI_MEMORY_LIMIT 256M
  4. RUN apt-get update -y \
  5. && apt-get install -y --no-install-recommends \
  6. libfreetype6-dev \
  7. libjpeg62-turbo-dev \
  8. libjpeg62-turbo \
  9. libpng-dev \
  10. libpng16-16 \
  11. libldap2-dev \
  12. libxml2-dev \
  13. libzip-dev \
  14. zlib1g-dev \
  15. libicu-dev \
  16. g++ \
  17. default-mysql-client \
  18. unzip \
  19. curl \
  20. apt-utils \
  21. msmtp \
  22. msmtp-mta \
  23. mailutils \
  24. && apt-get autoremove -y \
  25. && rm -rf /var/lib/apt/lists/* \
  26. && docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \
  27. && docker-php-ext-install -j$(nproc) calendar intl mysqli pdo_mysql gd soap zip \
  28. && docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ \
  29. && docker-php-ext-install -j$(nproc) ldap && \
  30. mv ${PHP_INI_DIR}/php.ini-development ${PHP_INI_DIR}/php.ini
  31. RUN mkdir /var/documents
  32. RUN chown www-data:www-data /var/documents
  33. COPY docker-run.sh /usr/local/bin/
  34. RUN chmod +x /usr/local/bin/docker-run.sh
  35. RUN pecl install xdebug && docker-php-ext-enable xdebug
  36. RUN echo 'zend_extension="/usr/local/lib/php/extensions/no-debug-non-zts-20180731/xdebug.so"' >> ${PHP_INI_DIR}/php.ini
  37. RUN echo 'xdebug.mode=debug' >> ${PHP_INI_DIR}/php.ini
  38. RUN echo 'xdebug.start_with_request=yes' >> ${PHP_INI_DIR}/php.ini
  39. RUN echo 'xdebug.client_host=host.docker.internal' >> ${PHP_INI_DIR}/php.ini
  40. RUN echo 'xdebug.client_port=9003' >> ${PHP_INI_DIR}/php.ini
  41. RUN echo 'xdebug.discover_client_host=true' >> ${PHP_INI_DIR}/php.ini
  42. #RUN echo 'xdebug.log="/tmp/xdebug.log"' >> ${PHP_INI_DIR}/php.ini
  43. RUN echo 'xdebug.idekey="netbeans-xdebug"' >> ${PHP_INI_DIR}/php.ini
  44. # set up sendmail config, to use maildev
  45. RUN echo "account default" > /etc/msmtprc
  46. RUN echo "auth off" >> /etc/msmtprc
  47. RUN echo "port 25" >> /etc/msmtprc
  48. RUN echo "host mail" >> /etc/msmtprc
  49. RUN echo "from local@localdomain.com" >> /etc/msmtprc
  50. RUN echo "domain localhost.localdomain" >> /etc/msmtprc
  51. RUN echo "sendmail_path=/usr/bin/msmtp -t" >> /usr/local/etc/php/conf.d/php-sendmail.ini
  52. RUN echo "localhost localhost.localdomain" >> /etc/hosts
  53. EXPOSE 80
  54. ENTRYPOINT ["docker-run.sh"]