hyperf-raw.dockerfile 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. # Default Dockerfile
  2. #
  3. # @link https://www.hyperf.io
  4. # @document https://doc.hyperf.io
  5. # @contact [email protected]
  6. # @license https://github.com/hyperf-cloud/hyperf/blob/master/LICENSE
  7. FROM hyperf/hyperf:7.2-alpine-cli
  8. LABEL maintainer="Hyperf Developers <[email protected]>" version="1.0" license="MIT"
  9. ##
  10. # ---------- env settings ----------
  11. ##
  12. # --build-arg timezone=Asia/Shanghai
  13. ARG timezone
  14. ENV TIMEZONE=${timezone:-"America/Los_Angeles"} \
  15. COMPOSER_VERSION=1.8.6 \
  16. APP_ENV=prod
  17. # update
  18. RUN set -ex \
  19. # install composer
  20. && cd /tmp \
  21. && wget https://github.com/composer/composer/releases/download/${COMPOSER_VERSION}/composer.phar \
  22. && chmod u+x composer.phar \
  23. && mv composer.phar /usr/local/bin/composer \
  24. # show php version and extensions
  25. && php -v \
  26. && php -m \
  27. # ---------- some config ----------
  28. && cd /etc/php7 \
  29. # - config PHP
  30. && { \
  31. echo "upload_max_filesize=100M"; \
  32. echo "post_max_size=108M"; \
  33. echo "memory_limit=1024M"; \
  34. echo "date.timezone=${TIMEZONE}"; \
  35. } | tee conf.d/99-overrides.ini \
  36. # - config timezone
  37. && ln -sf /usr/share/zoneinfo/${TIMEZONE} /etc/localtime \
  38. && echo "${TIMEZONE}" > /etc/timezone \
  39. # ---------- clear works ----------
  40. && rm -rf /var/cache/apk/* /tmp/* /usr/share/man \
  41. && echo -e "\033[42;37m Build Completed :).\033[0m\n"
  42. COPY . /opt/www
  43. WORKDIR /opt/www
  44. RUN composer install --no-dev \
  45. && composer dump-autoload -o \
  46. && php /opt/www/bin/hyperf.php di:init-proxy
  47. EXPOSE 9501
  48. ENTRYPOINT ["php", "/opt/www/bin/hyperf.php", "start"]