laravel-roadrunner.dockerfile 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. FROM php:8.0-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. # `./vendor/bin/rr get-binary` is github rate-limited
  19. RUN tar xzf deploy/roadrunner/roadrunner-*.tar.gz && mv roadrunner-*/rr . && chmod +x ./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