imi-workerman.dockerfile 746 B

12345678910111213141516171819202122232425262728293031
  1. FROM php:8.3-cli
  2. ARG TFB_TEST_DATABASE
  3. ENV TFB_TEST_DATABASE=${TFB_TEST_DATABASE}
  4. RUN apt -yqq update && \
  5. apt upgrade -y && \
  6. apt -yqq install git unzip libevent-dev libssl-dev libpq-dev
  7. RUN docker-php-ext-install -j$(nproc) opcache mysqli pcntl sockets pdo_pgsql
  8. RUN pecl update-channels
  9. RUN pecl install event && \
  10. echo "extension=event.so" > /usr/local/etc/php/conf.d/event.ini
  11. COPY . /imi
  12. COPY php.ini /usr/local/etc/php/
  13. RUN chmod -R ug+rwx /imi/.runtime
  14. WORKDIR /imi
  15. COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
  16. RUN composer install --no-dev --classmap-authoritative --quiet
  17. RUN composer require imiphp/imi-workerman:~2.1.0 -W
  18. RUN composer dumpautoload -o
  19. EXPOSE 8080
  20. CMD ./run-workerman.sh