docker-compose.override.yml only overrode the dockerfile, so it kept inheriting target: final from docker-compose.yml — but Dockerfile.dev is single-stage and has no final stage, so the dev build failed. Name the stage in Dockerfile.dev and target it explicitly from the override.
31 lines
1.0 KiB
Docker
31 lines
1.0 KiB
Docker
FROM dunglas/frankenphp:1-php8.4-alpine AS dev
|
|
|
|
RUN apk add --no-cache icu-dev libzip-dev \
|
|
&& docker-php-ext-install -j$(nproc) intl opcache zip \
|
|
&& apk del icu-dev libzip-dev \
|
|
&& apk add --no-cache curl icu-libs libzip \
|
|
&& cp "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini" \
|
|
&& mkdir -p $PHP_INI_DIR/app.conf.d
|
|
|
|
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
|
|
|
|
RUN apk add --no-cache ${PHPIZE_DEPS} linux-headers \
|
|
&& pecl install xdebug \
|
|
&& docker-php-ext-enable xdebug \
|
|
&& apk del ${PHPIZE_DEPS}
|
|
|
|
ENV PHP_INI_SCAN_DIR=":$PHP_INI_DIR/app.conf.d"
|
|
ENV COMPOSER_ALLOW_SUPERUSER=1
|
|
|
|
WORKDIR /app
|
|
|
|
COPY docker/php/xdebug.ini /usr/local/etc/php/conf.d/docker-xdebug.ini
|
|
COPY docker/php/conf.d/20-app.dev.ini $PHP_INI_DIR/app.conf.d/
|
|
COPY docker/frankenphp/Caddyfile.dev /etc/caddy/Caddyfile
|
|
COPY composer.json composer.lock* ./
|
|
RUN composer install --no-scripts --no-interaction --prefer-dist
|
|
|
|
EXPOSE 8080
|
|
ENV APP_ENV=dev APP_DEBUG=1
|
|
CMD ["frankenphp", "run", "--config", "/etc/caddy/Caddyfile"]
|