symfony-swoole.dockerfile 971 B

123456789101112131415161718192021222324252627282930313233
  1. FROM php:8.2-rc-cli
  2. RUN pecl install swoole > /dev/null && \
  3. docker-php-ext-enable swoole
  4. RUN pecl install apcu > /dev/null && \
  5. docker-php-ext-enable apcu
  6. RUN apt-get update -yqq && \
  7. apt-get install -yqq libicu-dev git unzip > /dev/null && \
  8. docker-php-ext-install pdo_mysql opcache intl > /dev/null
  9. COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
  10. COPY deploy/swoole/php.ini /usr/local/etc/php/
  11. ADD . /symfony
  12. WORKDIR /symfony
  13. RUN mkdir -m 777 -p /symfony/var/cache/{dev,prod} /symfony/var/log
  14. #RUN mkdir -m 777 -p /symfony/var/cache/swoole /symfony/var/log
  15. RUN COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev --no-scripts --quiet
  16. ENV APP_RUNTIME=Runtime\\Swoole\\Runtime
  17. RUN composer require runtime/swoole
  18. RUN COMPOSER_ALLOW_SUPERUSER=1 composer dump-autoload --no-dev --classmap-authoritative
  19. RUN COMPOSER_ALLOW_SUPERUSER=1 composer dump-env prod
  20. #ENV APP_DEBUG=1
  21. EXPOSE 8080
  22. CMD php /symfony/public/swoole.php