spiral.dockerfile 847 B

1234567891011121314151617181920212223242526
  1. FROM php:8.1.2
  2. RUN docker-php-ext-install pdo_mysql > /dev/null
  3. # Workaround solution for installing ext-sockets for PHP 8.0
  4. # See https://github.com/docker-library/php/issues/1245
  5. RUN CFLAGS="$CFLAGS -D_GNU_SOURCE" docker-php-ext-install sockets > /dev/null
  6. ADD ./ /spiral
  7. WORKDIR /spiral
  8. # composer and opcache settings
  9. COPY php/* /usr/local/etc/php/
  10. RUN chmod +x /usr/local/etc/php/install-composer.sh && /usr/local/etc/php/install-composer.sh
  11. # install dependencies
  12. RUN apt-get update -yqq > /dev/null && apt-get install -yqq git unzip > /dev/null
  13. RUN php composer.phar install --optimize-autoloader --classmap-authoritative --no-dev
  14. # pre-configure
  15. RUN ./vendor/bin/rr get-binary > /dev/null 2>&1
  16. RUN php app.php configure > /dev/null 2>&1
  17. EXPOSE 8080
  18. CMD php app.php up > /dev/null 2>&1 && ./rr serve -o "http.pool.num_workers = 64"