FROM php:8.2-apache ENV DEBIAN_FRONTEND=noninteractive # libsqlite3-dev 是编译 pdo_sqlite 所必需的 RUN apt-get update \ && apt-get install -y --no-install-recommends \ libsqlite3-dev \ libzip-dev \ unzip \ && docker-php-ext-install pdo_sqlite zip \ && a2enmod rewrite headers \ && rm -rf /var/lib/apt/lists/* COPY --from=composer:2 /usr/bin/composer /usr/bin/composer WORKDIR /var/www/html COPY docker/apache-vhost.conf /etc/apache2/sites-available/000-default.conf COPY docker/entrypoint.sh /usr/local/bin/entrypoint.sh RUN chmod +x /usr/local/bin/entrypoint.sh COPY composer.json ./ RUN composer install --no-dev --prefer-dist --no-interaction --optimize-autoloader COPY app ./app COPY public ./public COPY data ./data COPY uploads ./uploads RUN chown -R www-data:www-data /var/www/html/data /var/www/html/uploads \ && chmod -R 775 /var/www/html/data /var/www/html/uploads EXPOSE 80 ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] CMD ["apache2-foreground"]