You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
1.7 KiB

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