imi-workerman.dockerfile 816 B

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