browser-sec-lab/docker/php/Dockerfile
2026-07-03 21:49:07 +03:30

46 lines
887 B
Docker

# =========================
# Stage 1: Dependencies
# =========================
FROM composer:2 AS vendor
WORKDIR /app
COPY . .
# install dependencies cleanly (NO MIRROR, NO DEV)
RUN composer install \
--no-dev \
--prefer-dist \
--no-interaction \
--optimize-autoloader \
--no-scripts
# =========================
# Stage 2: Runtime
# =========================
FROM php:8.2-fpm-bookworm
WORKDIR /var/www/html
# system deps
RUN apt-get update && apt-get install -y \
git unzip libzip-dev curl \
&& docker-php-ext-install pdo pdo_mysql zip \
&& rm -rf /var/lib/apt/lists/*
# copy vendor from stage 1
COPY --from=vendor /app /var/www/html
# permissions
RUN chown -R www-data:www-data /var/www/html
COPY ./docker/php/entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
CMD ["php-fpm"]
EXPOSE 9000
CMD ["php-fpm"]