--- fenglin/Dockerfile/dockerfile.apache 2026/01/04 12:44:40 1.1 +++ fenglin/Dockerfile/dockerfile.apache 2026/01/10 06:50:42 1.4 @@ -1,3 +1,13 @@ +FROM composer:latest AS composer_installer + +# Set working directory +RUN mkdir -p /usr/local/composer + +WORKDIR /usr/local/composer + +COPY ./composer.json ./composer.lock ./ +RUN /usr/bin/composer install --prefer-dist --no-scripts --no-progress + # Use the official Apache image FROM httpd:2.4 @@ -6,14 +16,18 @@ COPY ./Dockerfile/httpd-vhosts.conf /usr RUN sed -i 's/#Include conf\/extra\/httpd-vhosts.conf/Include conf\/extra\/httpd-vhosts.conf/' /usr/local/apache2/conf/httpd.conf # Copy web application files -RUN mkdir -p /var/www/html/gen_ex COPY ./bbs /var/www/html/bbs -COPY ./conf /var/www/html/conf -COPY ./gen_ex/*.css /var/www/html/gen_ex/ +COPY ./gen_ex /var/www/html/gen_ex COPY ./js /var/www/html/js COPY ./lib /var/www/html/lib COPY ./manage /var/www/html/manage -RUN mkdir -p /var/www/html/bbs/cache /var/www/html/bbs/upload /var/www/html/stat +RUN mkdir -p /var/www/html/bbs/cache \ + /var/www/html/bbs/upload \ + /var/www/html/bbs/images/face/upload_photo \ + /var/www/html/conf /var/www/html/stat + +# Copy the composer binary from the installer stage into your final image +COPY --from=composer_installer /usr/local/composer/vendor /var/www/html/vendor # Set ownership to www-data user and group RUN chown -R www-data:www-data /var/www/html