| ADD alpine-minirootfs-3.19.9-x86_64.tar.gz / # buildkit |
| CMD ["/bin/sh"] |
| LABEL maintainer=Hyperf Developers <group@hyperf.io> version=1.0 license=MIT |
| COPY ./init.php /init.php # buildkit |
| RUN /bin/sh -c set -ex && apk update && apk add --no-cache ca-certificates curl wget tar xz tzdata pcre php83 php83-bcmath php83-curl php83-ctype php83-dom php83-fileinfo php83-gd php83-iconv php83-mbstring php83-mysqlnd php83-openssl php83-pdo php83-pdo_mysql php83-phar php83-posix php83-redis php83-sockets php83-sodium php83-sysvshm php83-sysvmsg php83-sysvsem php83-simplexml php83-tokenizer php83-zip php83-zlib php83-xml php83-xmlreader php83-xmlwriter php83-pcntl php83-opcache && ln -sf /usr/bin/php83 /usr/bin/php && php /init.php && apk del --purge *-dev && rm -rf /var/cache/apk/* /tmp/* /usr/share/man /usr/share/php83 && php -v && php -m && echo -e "\033[42;37m Build Completed :).\033[0m\n" # buildkit |
| LABEL maintainer=Hyperf Developers <group@hyperf.io> version=1.0 license=MIT |
| ARG SW_VERSION=v6.2.2 |
| ARG COMPOSER_VERSION=2.10.2 |
| ARG PHP_BUILD_VERSION=83 |
| ENV SW_VERSION=v6.2.2 COMPOSER_VERSION=2.10.2 COMPOSER_ALLOW_SUPERUSER=1 PHPIZE_DEPS=autoconf dpkg-dev dpkg file g++ gcc libc-dev make php83-dev php83-pear pkgconf re2c pcre-dev pcre2-dev zlib-dev libtool automake libaio-dev openssl-dev curl-dev |
| RUN |3 SW_VERSION=v6.2.2 COMPOSER_VERSION=2.10.2 PHP_BUILD_VERSION=83 /bin/sh -c set -ex && apk update && apk add --no-cache libstdc++ openssl git bash c-ares-dev libpq-dev php83-pdo_pgsql php83-pdo_sqlite php83-pdo_odbc && apk add --no-cache --virtual .build-deps $PHPIZE_DEPS unixodbc-dev sqlite-dev && cd /tmp && curl -SL "https://github.com/swoole/swoole-src/archive/${SW_VERSION}.tar.gz" -o swoole.tar.gz && ls -alh && cd /tmp && mkdir -p swoole && tar -xf swoole.tar.gz -C swoole --strip-components=1 && ln -s /usr/bin/phpize${PHP_BUILD_VERSION} /usr/local/bin/phpize && ln -s /usr/bin/php-config${PHP_BUILD_VERSION} /usr/local/bin/php-config && ( cd swoole && phpize && ./configure --enable-openssl --enable-swoole-curl --enable-cares --enable-swoole-pgsql --enable-swoole-sqlite --with-swoole-odbc=unixodbc,/usr && make -s -j$(nproc) && make install ) && echo "memory_limit=1G" > /etc/php${PHP_BUILD_VERSION}/conf.d/00_default.ini && echo "max_input_vars=PHP_INT_MAX" >> /etc/php${PHP_BUILD_VERSION}/conf.d/00_default.ini && echo "opcache.enable_cli = 'On'" >> /etc/php${PHP_BUILD_VERSION}/conf.d/00_opcache.ini && echo "extension=swoole.so" > /etc/php${PHP_BUILD_VERSION}/conf.d/50_swoole.ini && echo "swoole.use_shortname = 'Off'" >> /etc/php${PHP_BUILD_VERSION}/conf.d/50_swoole.ini && wget -nv -O /usr/local/bin/composer https://github.com/composer/composer/releases/download/${COMPOSER_VERSION}/composer.phar && chmod u+x /usr/local/bin/composer && apk del .build-deps && rm -rf /var/cache/apk/* /tmp/* /usr/share/man /usr/local/bin/php* && php -v && php -m && php --ri swoole && php --ri Zend\ OPcache && composer && echo -e "\033[42;37m Build Completed :).\033[0m\n" # buildkit |
| LABEL org.opencontainers.image.title="datahub-backend" org.opencontainers.image.vendor="WPIC" org.opencontainers.image.licenses="LicenseRef-WPIC-Proprietary" org.opencontainers.image.source="https://repo.yneed.cn/wpic-dev/datahub" |
| ARG TIMEZONE |
| ENV TIMEZONE=${TIMEZONE} APP_ENV=prod SCAN_CACHEABLE=(true) |
| |1 TIMEZONE=Asia/Shanghai /bin/sh -c apk add --no-cache php83-intl php83-pspell |
| |1 TIMEZONE=Asia/Shanghai /bin/sh -c set -eux; php -v; php -m; php --ri swoole; cd /etc/php*; { echo "upload_max_filesize=128M"; echo "post_max_size=128M"; echo "memory_limit=2G"; echo "date.timezone=${TIMEZONE}"; } | tee conf.d/99_overrides.ini; ln -sf /usr/share/zoneinfo/${TIMEZONE} /etc/localtime; echo "${TIMEZONE}" > /etc/timezone; rm -rf /var/cache/apk/* /tmp/* /usr/share/man |
| WORKDIR /var/www |
| |1 TIMEZONE=Asia/Shanghai /bin/sh -c composer config -g repositories.aliyun composer https://mirrors.aliyun.com/composer/ |
| COPY multi:a5705fbca3b8d5d2e742e49857e4de491f6938292333f6d4c88c9d1be35c0f8d in ./ |
| |1 TIMEZONE=Asia/Shanghai /bin/sh -c composer install --no-dev --no-scripts --no-autoloader --prefer-dist --no-interaction |
| COPY dir:48a696490389edf4e2dfacc40500d03c344607393b0c8d06567a82b79942b753 in . |
| |1 TIMEZONE=Asia/Shanghai /bin/sh -c composer dump-autoload --optimize --classmap-authoritative --no-dev |
| COPY file:087b556b509ac65480ce856db0d5c03bad355d5dce8b84a505195100a7c7d348 in /usr/local/bin/entrypoint.sh |
| |1 TIMEZONE=Asia/Shanghai /bin/sh -c chmod +x /usr/local/bin/entrypoint.sh |
| EXPOSE 9501 |
| HEALTHCHECK --interval=30s --timeout=5s --start-period=60s --retries=3 CMD wget -qO- http://127.0.0.1:9501/health || exit 1 |
| ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] |
| CMD ["php", "/var/www/bin/hyperf.php", "start"] |