From 29bafed9fb319109554f9cb4301f37cc05d1c0bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Calder=C3=B3n?= Date: Fri, 27 Dec 2024 03:35:51 -0700 Subject: [PATCH] feat: . --- Dockerfile | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/Dockerfile b/Dockerfile index f379bef..e47a9ee 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,44 +1,39 @@ -# cargamos imagen de php nodo alpine super reducida - -# construimos una imagen partiendo del asistente de octane. Usamos una imagen base optimizada para Laravel, -# que incluye PHP y todos los paquetes requeridos. -# Podemos usar siempre esta para construir nuestros proyectos de laravel +# Usamos una imagen base optimizada para Laravel con Octane, PHP, y paquetes necesarios. FROM elrincondeisma/octane:latest # Copiamos Composer y Roadrunner desde sus imágenes oficiales. COPY --from=composer:latest /usr/bin/composer /usr/bin/composer COPY --from=spiralscout/roadrunner:2.4.2 /usr/bin/rr /usr/bin/rr -# Configuramos el directorio de trabajo principal del contenedor como /app. +# Configuramos el directorio de trabajo principal del contenedor. WORKDIR /app -# Copiamos todos los archivos del proyecto local al directorio de trabajo en el contenedor. +# Copiamos los archivos del proyecto al contenedor. COPY . . -# Eliminamos la carpeta vendor y el archivo composer.lock para evitar problemas con dependencias previas -# causados por diferencias entre versiones de php en entornos de desarrollo y producción. +# Limpiamos el entorno para evitar problemas con dependencias previas. RUN rm -rf /app/vendor /app/composer.lock -# Instalamos las dependencias necesarias para Laravel y Octane, incluyendo Roadrunner. +# Instalamos las dependencias necesarias y configuramos Laravel. RUN composer install --no-dev --optimize-autoloader RUN composer require laravel/octane spiral/roadrunner -#Configuramos el archivo de entorno si no existe copiando el archivo env.example como .env, ya que este archivo puede faltar tras un pull de git. +# Configuramos el archivo de entorno si no existe. RUN cp .env.example .env || true -# Creamos el directorio de logs dentro de la carpeta de storage, esencial para Laravel. +# Creamos el directorio de logs. RUN mkdir -p /app/storage/logs -# Limpiamos las cachés de la aplicación para evitar configuraciones desactualizadas o conflictos. +# Limpiamos las cachés de la aplicación. RUN php artisan cache:clear && \ php artisan view:clear && \ php artisan config:clear -# Instalamos Octane con el servidor Swoole y configuramos su inicio para escuchar todas las direcciones IP. +# Instalamos Octane con Swoole y configuramos el inicio. RUN php artisan octane:install --server="swoole" -# Exponemos el puerto 8000 para permitir conexiones al servidor de octane porque ese está escuchando en el puerto 8000 +# Exponemos el puerto 8000 para el servidor Octane. EXPOSE 8000 # Comando de inicio para el contenedor. -CMD ["php", "artisan", "octane:start", "--server=swoole", "--host=0.0.0.0", "--port=8000"] \ No newline at end of file +CMD ["php", "artisan", "octane:start", "--server=swoole", "--host=0.0.0.0", "--port=8000"]