hamlet-workerman.dockerfile 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. FROM php:8.0-zts
  2. ENV PHP_VERSION 8.0
  3. ENV PARALLEL_VERSION 360c667b7632a639a983f17c5d97b92cbe4f7c95
  4. RUN docker-php-ext-install pdo_mysql > /dev/null && docker-php-ext-enable pdo_mysql
  5. RUN docker-php-ext-install sockets > /dev/null && docker-php-ext-enable sockets
  6. RUN docker-php-ext-install pcntl > /dev/null && docker-php-ext-enable pcntl
  7. RUN apt-get update -yqq > /dev/null \
  8. && apt-get install -yqq git unzip libevent-dev libssl-dev > /dev/null
  9. RUN git clone https://github.com/krakjoe/parallel \
  10. && cd parallel \
  11. && git checkout 360c667b7632a639a983f17c5d97b92cbe4f7c95 \
  12. && phpize > /dev/null \
  13. && ./configure --enable-parallel > /dev/null \
  14. && make > /dev/null \
  15. && make install > /dev/null
  16. RUN pecl install event-3.0.5 > /dev/null \
  17. && echo "extension=event.so" > /usr/local/etc/php/conf.d/event.ini
  18. COPY deploy/fpm/php.ini /usr/local/etc/php/conf.d/hamlet.ini
  19. RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
  20. ADD ./ /hamlet
  21. WORKDIR /hamlet
  22. COPY ./composer-workerman.json composer.json
  23. RUN composer update --no-dev --quiet
  24. EXPOSE 8080
  25. CMD php /hamlet/workerman.php start