53 lines
918 B
Docker
53 lines
918 B
Docker
|
ARG PHP_VERSION=8.1
|
||
|
|
||
|
FROM php:${PHP_VERSION}-fpm-bullseye AS base
|
||
|
|
||
|
###
|
||
|
|
||
|
FROM base AS build
|
||
|
|
||
|
ENV PATH=${PATH}:/var/www/html/vendor/bin
|
||
|
|
||
|
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
|
||
|
|
||
|
WORKDIR /var/www/html
|
||
|
|
||
|
RUN useradd --create-home app \
|
||
|
&& chown app:app -R /var/www/html \
|
||
|
&& apt-get update -yqq \
|
||
|
&& apt-get install -yqq \
|
||
|
git \
|
||
|
libpng-dev \
|
||
|
mariadb-client \
|
||
|
unzip \
|
||
|
&& rm -fr /var/lib/apt/lists/* \
|
||
|
&& pecl install xdebug \
|
||
|
&& docker-php-ext-install \
|
||
|
gd \
|
||
|
opcache \
|
||
|
pdo_mysql \
|
||
|
&& docker-php-ext-enable \
|
||
|
xdebug
|
||
|
|
||
|
COPY tools/docker/images/php/root /
|
||
|
|
||
|
COPY --chown=app:app composer.* ./
|
||
|
|
||
|
USER app
|
||
|
RUN composer install --no-dev --prefer-dist --optimize-autoloader
|
||
|
|
||
|
COPY --chown=app:app . .
|
||
|
|
||
|
###
|
||
|
|
||
|
FROM build AS test
|
||
|
|
||
|
# RUN composer install \
|
||
|
# && phpunit
|
||
|
|
||
|
###
|
||
|
|
||
|
FROM build AS production
|
||
|
|
||
|
RUN composer install --no-dev --prefer-dist --optimize-autoloader
|