- 替换基础镜像为 `php:8.4.15-cli-alpine3.23`,重构依赖安装流程 - 切换包管理工具为 `apk`,添加必要系统库及扩展 - 更新 Composer 脚本及依赖映射 - 优化命令与环境变量配置,增强一致性与兼容性
37 lines
859 B
Docker
37 lines
859 B
Docker
FROM php:8.4.15-cli-alpine3.23
|
|
|
|
WORKDIR /app
|
|
|
|
# System packages and PHP extensions required by Laravel/Octane
|
|
RUN apk update \
|
|
&& apk add --no-cache \
|
|
git \
|
|
unzip \
|
|
libzip-dev \
|
|
postgresql-dev \
|
|
zlib-dev \
|
|
libpq \
|
|
icu-dev \
|
|
gcc \
|
|
g++ \
|
|
make \
|
|
autoconf \
|
|
libc-dev \
|
|
pkgconfig \
|
|
&& docker-php-ext-install \
|
|
pcntl \
|
|
zip \
|
|
pdo_mysql \
|
|
pdo_pgsql \
|
|
intl \
|
|
&& pecl install redis \
|
|
&& docker-php-ext-enable redis \
|
|
pdo_pgsql \
|
|
&& rm -rf /var/cache/apk/*
|
|
|
|
# Composer for dependency management
|
|
COPY --from=composer:2 /usr/bin/composer /usr/local/bin/composer
|
|
|
|
# Default runtime command uses Octane (overridden by docker-compose entrypoint)
|
|
CMD ["php", "artisan", "octane:start", "--server=frankenphp", "--host=0.0.0.0", "--port=8000"]
|