laravel-roadrunner.dockerfile 1.3 KB

123456789101112131415161718192021222324252627282930313233
  1. FROM php:8.4-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. WORKDIR /laravel
  7. COPY --link . .
  8. RUN mkdir -p bootstrap/cache \
  9. storage/logs \
  10. storage/framework/sessions \
  11. storage/framework/views \
  12. storage/framework/cache
  13. RUN apt-get update > /dev/null && \
  14. apt-get install -yqq curl unzip > /dev/null
  15. RUN pecl install protobuf > /dev/null && echo "extension=protobuf.so" > /usr/local/etc/php/conf.d/protobuf.ini
  16. COPY --from=composer/composer:latest-bin --link /composer /usr/local/bin/composer
  17. RUN composer require laravel/octane --update-no-dev --no-scripts --quiet
  18. RUN php artisan octane:install --server="roadrunner"
  19. RUN php artisan optimize
  20. EXPOSE 8080
  21. # https://artisan.page/12.x/
  22. #ENTRYPOINT ["php", "artisan", "octane:roadrunner", "--host=0.0.0.0", "--port=8080", "--workers=auto", "--max-requests=10000", "--rr-config=/laravel/deploy/roadrunner/.rr.yaml"]
  23. ENTRYPOINT ["/laravel/rr", "serve", "-c", "/laravel/deploy/roadrunner/.rr.yaml"]