FROM php:8.5.4-alpine3.23
LABEL php.version="8.5.4" \
alpine.version="3.23" \
build.date="2026-03-23"
COPY --from=composer:2.9.5 /usr/bin/composer /usr/bin/
ARG TIMEZONE
ARG SWOOLE_VERSION=6.2.0
ENV TZ=${TIMEZONE:-"Asia/Shanghai"} \
LANG="C.UTF-8" \
IMAGE_BUILD_DATE="2026-03-23"
RUN set -ex \
&& addgroup -S -g 1000 www \
&& adduser -S -D -u 1000 -s /sbin/nologin -G www www
# 必须 apk add icu-data-full 否则 new \NumberFormatter('UK', \NumberFormatter::CURRENCY)->formatCurrency('1234.91', 'CAD') 数据会异常
RUN set -ex \
&& apk update \
&& apk add --no-cache libstdc++ libpq liburing-dev \
&& apk add --no-cache --virtual .build-deps $PHPIZE_DEPS curl-dev linux-headers brotli-dev postgresql-dev openssl-dev pcre-dev pcre2-dev sqlite-dev zlib-dev \
&& apk add --no-cache icu-dev libzip-dev \
&& apk add --no-cache tzdata cronie icu-data-full \
&& cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo Asia/Shanghai > /etc/timezone \
&& apk del tzdata \
&& docker-php-ext-install pdo_mysql bcmath intl zip pcntl \
&& pecl channel-update pecl.php.net \
&& pecl install --configureoptions 'enable-redis-igbinary="no" enable-redis-lzf="no" enable-redis-zstd="no"' redis-6.3.0 \
&& pecl install inotify \
&& docker-php-ext-enable redis inotify \
&& docker-php-ext-install sockets \
&& docker-php-source extract \
&& mkdir /usr/src/php/ext/swoole \
&& curl -sfL https://github.com/swoole/swoole-src/archive/v${SWOOLE_VERSION}.tar.gz -o swoole.tar.gz \
&& tar xfz swoole.tar.gz --strip-components=1 -C /usr/src/php/ext/swoole \
&& docker-php-ext-configure swoole \
--enable-brotli \
--enable-mysqlnd \
--enable-sockets \
--enable-swoole-curl \
--enable-swoole-pgsql \
--enable-swoole-sqlite \
--enable-swoole-stdext \
--enable-zstd \
&& docker-php-ext-install -j$(nproc) swoole \
&& rm -f swoole.tar.gz \
&& apk add --no-cache supervisor \
&& mkdir -p /var/log/supervisor \
&& docker-php-source delete \
&& apk del .build-deps
WORKDIR /app
# 多架构编译
#docker buildx build \
# --platform linux/arm64,linux/amd64 \
# --build-arg TIMEZONE=Asia/Shanghai \
# -t shine09/php-swoole:8.5.4-swoole6.2.0-alpine3.23 \
# -t shine09/php-swoole:8.5-swoole6.2-alpine3 \
# -t registry.cn-shenzhen.aliyuncs.com/shine09/php:8.5.4-swoole6.2.0-alpine3.23 \
# -t registry.cn-shenzhen.aliyuncs.com/shine09/php:8.5-swoole6.2-alpine3 \
# -t registry.us-west-1.aliyuncs.com/shine09/php:8.5.4-swoole6.2.0-alpine3.23 \
# -t registry.us-west-1.aliyuncs.com/shine09/php:8.5-swoole6.2-alpine3 \
# -f dockerfiles/pp-php-8.5/26.03.23/Dockerfile \
# --push \
# .
Content type
Image
Digest
sha256:cbbdccb97…
Size
82.1 MB
Last updated
6 months ago
docker pull shine09/php-swoole:8.5-swoole6.2-alpine3