laravel-roadrunner.dockerfile 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. FROM php:8.3-cli
  2. RUN docker-php-ext-install pdo_mysql pcntl opcache sockets > /dev/null
  3. RUN echo "opcache.enable_cli=1" >> /usr/local/etc/php/conf.d/docker-php-ext-opcache.ini
  4. #RUN echo "opcache.jit=1205" >> /usr/local/etc/php/conf.d/docker-php-ext-opcache.ini
  5. #RUN echo "opcache.jit_buffer_size=128M" >> /usr/local/etc/php/conf.d/docker-php-ext-opcache.ini
  6. ADD ./ /laravel
  7. WORKDIR /laravel
  8. RUN mkdir -p /laravel/bootstrap/cache /laravel/storage/logs /laravel/storage/framework/sessions /laravel/storage/framework/views /laravel/storage/framework/cache
  9. RUN chmod -R 777 /laravel
  10. RUN apt-get update > /dev/null && \
  11. apt-get install -yqq git unzip > /dev/null
  12. RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && php composer-setup.php && php -r "unlink('composer-setup.php');"
  13. RUN mv composer.phar /usr/local/bin/composer
  14. COPY deploy/roadrunner/composer.json ./
  15. COPY deploy/roadrunner/.rr.yaml ./
  16. RUN composer install -a --no-dev --quiet
  17. RUN php artisan optimize
  18. # install roadrunner
  19. COPY --from=ghcr.io/roadrunner-server/roadrunner:2.12.1 /usr/bin/rr ./rr
  20. RUN php artisan vendor:publish --provider='Spiral\RoadRunnerLaravel\ServiceProvider' --tag=config
  21. EXPOSE 8080
  22. # CMD bash
  23. CMD ./rr serve -c ./.rr.yaml