Dockerfile 1.9KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. FROM php:7.4.33-fpm-alpine3.15
  2. RUN apk update
  3. RUN docker-php-ext-install opcache
  4. RUN docker-php-ext-install mysqli
  5. RUN docker-php-ext-install pdo pdo_mysql
  6. RUN apk add --no-cache libzip-dev && \
  7. docker-php-ext-install zip
  8. # xdebug with VSCODE
  9. ENV XDEBUG_VERSION=2.9.2
  10. RUN apk --no-cache add --virtual .build-deps \
  11. g++ \
  12. autoconf \
  13. make && \
  14. pecl install xdebug-${XDEBUG_VERSION} && \
  15. docker-php-ext-enable xdebug && \
  16. apk del .build-deps && \
  17. rm -r /tmp/pear/* && \
  18. echo -e "xdebug.remote_enable=1\n\
  19. xdebug.remote_autostart=1\n\
  20. xdebug.remote_connect_back=0\n\
  21. xdebug.remote_port=9001\n\
  22. xdebug.idekey=\"VSCODE\"\n\
  23. xdebug.remote_host=host.docker.internal" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
  24. # Instalar herramientas básicas como chmod
  25. RUN apk add --no-cache coreutils
  26. #COPY ../../../files/ /var/www
  27. # Opcional: Crear carpetas con permisos específicos
  28. # Configurar PHP para permitir ejecución prolongada
  29. RUN echo "max_execution_time = 0" >> /usr/local/etc/php/conf.d/99-custom.ini
  30. RUN echo "max_input_time = 0" >> /usr/local/etc/php/conf.d/99-custom.ini
  31. RUN echo "memory_limit = 3G" >> /usr/local/etc/php/conf.d/99-custom.ini
  32. RUN echo "post_max_size = 2G" >> /usr/local/etc/php/conf.d/99-custom.ini
  33. RUN echo "upload_max_filesize = 1G" >> /usr/local/etc/php/conf.d/99-custom.ini
  34. EXPOSE 9000
  35. # 5. composer
  36. COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
  37. # Copiar todo el contenido desde la raíz del contexto al contenedor
  38. COPY ./html /var/www/html
  39. # Cambiar permisos de la carpeta de logs y otras necesarias
  40. RUN chown -R www-data:www-data /var/www/html/application/logs && \
  41. chown -R www-data:www-data /var/www/html/uploads && \
  42. chmod -R 775 /var/www/html/application/logs && \
  43. chmod -R 775 /var/www/html/DOWNLOADS && \
  44. chmod -R 777 /var/www/html/uploads
  45. WORKDIR /var/www/html