You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

64 line
2.2 KiB

  1. FROM php:8.1-apache
  2. ENV APACHE_DOCUMENT_ROOT /var/www/html/pub
  3. ENV APACHE_SERVER_NAME localhost
  4. ENV PATH="$PATH"
  5. WORKDIR /var/www/html
  6. RUN apt-get update
  7. RUN apt-get install -y \
  8. git zip \
  9. libfreetype6-dev \
  10. libjpeg62-turbo-dev \
  11. libpng-dev \
  12. libicu-dev \
  13. libxml2-dev \
  14. libxslt1-dev \
  15. libzip-dev \
  16. zip \
  17. && docker-php-ext-install -j$(nproc) iconv \
  18. && docker-php-ext-configure gd --with-jpeg=/usr/include/ --with-freetype=/usr/include/ \
  19. && docker-php-ext-install -j$(nproc) gd \
  20. && docker-php-ext-install -j$(nproc) intl \
  21. && docker-php-ext-install -j$(nproc) pdo_mysql \
  22. && docker-php-ext-install bcmath \
  23. && docker-php-ext-install soap \
  24. && docker-php-ext-install xsl \
  25. && docker-php-ext-install zip \
  26. && docker-php-ext-install sockets
  27. RUN apt install nano
  28. RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
  29. RUN pecl install xdebug-3.1.5 \
  30. && docker-php-ext-enable xdebug \
  31. && echo "xdebug.mode=debug" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
  32. && echo "xdebug.client_host = host.docker.internal" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
  33. && echo "xdebug.start_with_request=yes" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
  34. && echo 'xdebug.discover_client_host=1' >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
  35. && echo 'xdebug.log=/var/www/var/log/xdebug.log' >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
  36. && echo 'xdebug.log_level=0' >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
  37. RUN a2enmod rewrite && a2enmod headers
  38. RUN a2ensite 000-default
  39. COPY ./ /var/www/html
  40. RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf
  41. RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf
  42. RUN mv "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini"
  43. RUN echo 'memory_limit = 2048M' >> /usr/local/etc/php/conf.d/docker-php-memlimit.ini;
  44. RUN chown -R www-data:www-data /var/www/html/
  45. COPY /init.sh /init.sh
  46. RUN chmod 755 /init.sh
  47. RUN chmod +x /init.sh
  48. EXPOSE 80
  49. ENTRYPOINT ["/init.sh"]
  50. CMD ["apache2-foreground"]