reactphp.dockerfile 1.1 KB

123456789101112131415161718192021222324252627282930
  1. FROM ubuntu:22.04
  2. ARG DEBIAN_FRONTEND=noninteractive
  3. RUN apt-get update -yqq && apt-get install -yqq software-properties-common > /dev/null
  4. RUN LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
  5. RUN apt-get update -yqq > /dev/null && \
  6. apt-get install -yqq git unzip wget curl build-essential \
  7. php8.2-cli php8.2-mbstring php8.2-dev php8.2-xml php8.2-curl php8.2-mysql > /dev/null
  8. # An extension is required!
  9. # We deal with concurrencies over 1k, which stream_select doesn't support.
  10. RUN wget http://pear.php.net/go-pear.phar --quiet && php go-pear.phar
  11. #RUN apt-get install -y libuv1-dev > /dev/null
  12. RUN apt-get install -y libevent-dev > /dev/null
  13. #RUN pecl install uv-0.2.4 > /dev/null && echo "extension=uv.so" > /etc/php/8.2/cli/conf.d/uv.ini
  14. RUN pecl install event-3.0.8 > /dev/null && echo "extension=event.so" > /etc/php/8.2/cli/conf.d/event.ini
  15. ADD ./ /reactphp
  16. WORKDIR /reactphp
  17. COPY deploy/conf/* /etc/php/8.2/cli/conf.d/
  18. COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
  19. RUN composer install --prefer-dist --optimize-autoloader --no-dev --quiet
  20. EXPOSE 8080
  21. CMD php server.php