imi-swoole.dockerfile 754 B

12345678910111213141516171819202122232425262728293031
  1. FROM php:8.1-cli
  2. ENV SWOOLE_VERSION 4.8.3
  3. ARG TFB_TEST_DATABASE
  4. ENV TFB_TEST_DATABASE=${TFB_TEST_DATABASE}
  5. RUN docker-php-ext-install -j$(nproc) opcache > /dev/null
  6. RUN apt -yqq update > /dev/null && \
  7. apt -yqq install git unzip > /dev/null
  8. RUN pecl update-channels
  9. RUN pecl install swoole-${SWOOLE_VERSION} > /dev/null && \
  10. docker-php-ext-enable swoole
  11. COPY . /imi
  12. COPY php.ini /usr/local/etc/php/
  13. RUN chmod -R ug+rwx /imi/.runtime
  14. WORKDIR /imi
  15. RUN curl -sSL https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
  16. RUN composer install --no-dev --classmap-authoritative --quiet > /dev/null
  17. RUN composer require imiphp/imi-swoole:~2.0 -W
  18. RUN composer dumpautoload -o
  19. EXPOSE 8080
  20. CMD ./run-swoole.sh