FROM php:8.4-fpm-alpine # 安装系统依赖 RUN apk add --no-cache \ libpng-dev \ libjpeg-turbo-dev \ freetype-dev \ libzip-dev \ gmp-dev \ curl \ fontconfig \ tzdata \ && docker-php-ext-configure gd --with-freetype --with-jpeg \ && docker-php-ext-install -j$(nproc) \ gd \ gmp \ bcmath \ fileinfo \ zip \ pdo_mysql \ && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo "Asia/Shanghai" > /etc/timezone # 注意:openssl和curl是PHP内置扩展,不需要单独安装 # 设置工作目录 WORKDIR /var/www/html # 复制项目文件 COPY . . # 创建bootstrap/cache目录并设置权限 RUN mkdir -p bootstrap/cache && chmod -R 755 bootstrap/cache # 安装Composer RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer # 安装项目依赖 RUN composer install --no-dev # 创建存储软链接 RUN php artisan storage:link # 创建队列表 RUN php artisan queue:table # 暴露端口 EXPOSE 9000 # 启动PHP-FPM CMD ["php-fpm"]