imi-swoole.dockerfile 878 B

1234567891011121314151617181920212223242526272829303132
  1. FROM php:8.3-cli
  2. ENV SWOOLE_VERSION 5.1.1
  3. ARG TFB_TEST_DATABASE
  4. ENV TFB_TEST_DATABASE=${TFB_TEST_DATABASE}
  5. RUN apt -yqq update && \
  6. apt upgrade -y && \
  7. apt -yqq install git unzip libpq-dev
  8. RUN docker-php-ext-install -j$(nproc) pdo_pgsql opcache mysqli
  9. RUN cd /tmp && curl -sSL "https://github.com/swoole/swoole-src/archive/v${SWOOLE_VERSION}.tar.gz" | tar xzf - \
  10. && cd swoole-src-${SWOOLE_VERSION} \
  11. && phpize && ./configure --enable-swoole-pgsql && make -j install \
  12. && docker-php-ext-enable swoole
  13. COPY . /imi
  14. COPY php.ini /usr/local/etc/php/
  15. RUN chmod -R ug+rwx /imi/.runtime
  16. WORKDIR /imi
  17. COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
  18. RUN composer install --no-dev --classmap-authoritative --quiet
  19. RUN composer require imiphp/imi-swoole:~2.1.0 -W
  20. RUN composer dumpautoload -o
  21. EXPOSE 8080
  22. CMD ./run-swoole.sh