es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo ejecutar el programador de Laravel (Lumen) en Docker

Soy nuevo en la ejecución del programador de Laravel en Docker. Por lo tanto, encuentro difícil ejecutar múltiples comandos (php -S localhost:8000 -t public y php artisan schedule:work) en el Dockerfile. Por favor, ayuda, ¿qué necesito hacer para ejecutar el programador con éxito ya que también lo moveré a AWS?

Aquí está mi archivo Dockerfile:

FROM php:7.4-fpm-alpine
RUN docker-php-ext-install mysqli pdo pdo_mysql

RUN apk --no-cache add \
php7 \
php7-mysqlnd \
php7-fpm \
php7-pdo \
php7-mbstring \
php7-xml \
php7-openssl \
php7-json \
php7-phar \
php7-zip \
php7-dom \
php7-session \
php7-zlib && \
php7 -r "copy('http://getcomposer.org/installer', 'composer-setup.php');" && \
php7 composer-setup.php --install-dir=/usr/bin --filename=composer && \
php7 -r "unlink('composer-setup.php');" && \
ln -sf /usr/bin/php7 /usr/bin/php && \
ln -s /etc/php7/php.ini /etc/php7/conf.d/php.ini

RUN set -x \
addgroup -g 82 -S www-data \
adduser -u 82 -D -S -G www-data www-data

COPY . /src
ADD .env.example /src/.env
WORKDIR /src
RUN chmod -R 777 storage


RUN composer install

CMD php -S localhost:8000 -t public
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para ejecutar múltiples comandos en el Dockerfile, puedes usar el operador & para ejecutar ambos comandos en la misma línea. En este caso, puedes actualizar la línea CMD en el Dockerfile para incluir ambos comandos:

    CMD php -S localhost:8000 -t public & php artisan schedule:work
    

    Con esta actualización, ambos comandos se ejecutarán simultáneamente cuando se inicie el contenedor de Docker.

    Además, asegúrate de configurar correctamente el programador en tu aplicación Laravel, incluyendo la adición de las entradas de cron necesarias en el archivo crontab del servidor.

    Al moverte a AWS, puedes implementar tu contenedor de Docker en Elastic Container Service (ECS) o Elastic Kubernetes Service (EKS) con las configuraciones y ajustes necesarios para tu aplicación. Asegúrate de seguir las mejores prácticas para la contenerización e implementación en AWS.

Comments are closed.