symfony-swoole.dockerfile 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. FROM php:8.3-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 libpq-dev libicu-dev git unzip > /dev/null && \
  8. docker-php-ext-install pdo_pgsql 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. RUN cp deploy/postgresql/.env . && composer dump-env prod && bin/console cache:clear
  17. ENV APP_RUNTIME=Runtime\\Swoole\\Runtime
  18. RUN composer require runtime/swoole
  19. RUN COMPOSER_ALLOW_SUPERUSER=1 composer dump-autoload --no-dev --classmap-authoritative
  20. RUN COMPOSER_ALLOW_SUPERUSER=1 composer dump-env prod
  21. #ENV APP_DEBUG=1
  22. EXPOSE 8080
  23. CMD php /symfony/public/swoole.php