|
| 1 | +# Local Dev Dockerfile |
| 2 | +# |
| 3 | +# @link https://www.hyperf.io |
| 4 | +# @document https://hyperf.wiki |
| 5 | +# @contact group@hyperf.io |
| 6 | +# @license https://github.com/hyperf/hyperf/blob/master/LICENSE |
| 7 | + |
| 8 | +FROM hyperf/hyperf:8.4-alpine-v3.21-swoole |
| 9 | +LABEL maintainer="Hyperf Developers <group@hyperf.io>" version="1.0" license="MIT" app.name="Hyperf" |
| 10 | + |
| 11 | +## |
| 12 | +# ---------- env settings ---------- |
| 13 | +## |
| 14 | +# --build-arg timezone=Asia/Shanghai |
| 15 | +ARG timezone |
| 16 | +ARG UID=1000 |
| 17 | +ARG GID=1000 |
| 18 | + |
| 19 | +ENV TIMEZONE=${timezone:-"Asia/Shanghai"} \ |
| 20 | + APP_ENV=dev \ |
| 21 | + SCAN_CACHEABLE=(false) |
| 22 | + |
| 23 | +# Make local user to avoid file permissions on runtime |
| 24 | +RUN addgroup -g ${GID} application && \ |
| 25 | + adduser -S -D -u ${UID} -G application -s /bin/ash -h /home/application application |
| 26 | + |
| 27 | +# update |
| 28 | +RUN set -ex \ |
| 29 | + # show php version and extensions |
| 30 | + && php -v \ |
| 31 | + && php -m \ |
| 32 | + && php --ri swoole \ |
| 33 | + # ---------- some config ---------- |
| 34 | + && cd /etc/php* \ |
| 35 | + # - config PHP |
| 36 | + && { \ |
| 37 | + echo "upload_max_filesize=128M"; \ |
| 38 | + echo "post_max_size=128M"; \ |
| 39 | + echo "memory_limit=1G"; \ |
| 40 | + echo "date.timezone=${TIMEZONE}"; \ |
| 41 | + } | tee conf.d/99_overrides.ini \ |
| 42 | + # - config timezone |
| 43 | + && ln -sf /usr/share/zoneinfo/${TIMEZONE} /etc/localtime \ |
| 44 | + && echo "${TIMEZONE}" > /etc/timezone \ |
| 45 | + # ---------- clear works ---------- |
| 46 | + && rm -rf /var/cache/apk/* /tmp/* /usr/share/man \ |
| 47 | + && echo -e "\033[42;37m Build Completed :).\033[0m\n" |
| 48 | + |
| 49 | +RUN chmod +x /usr/local/bin/composer |
| 50 | + |
| 51 | +USER application |
| 52 | + |
| 53 | +WORKDIR /opt/www |
| 54 | + |
| 55 | +# Composer Cache |
| 56 | +# COPY ./composer.* /opt/www/ |
| 57 | +# RUN composer install --no-dev --no-scripts |
| 58 | + |
| 59 | +COPY . /opt/www |
| 60 | +RUN composer install --no-scripts |
| 61 | + |
| 62 | +EXPOSE 9501 |
| 63 | + |
| 64 | +ENTRYPOINT ["php", "/opt/www/bin/hyperf.php", "start"] |
0 commit comments