Files

39 lines
869 B
Docker

FROM php:8.4-cli
# Install system dependencies
RUN apt-get update && apt-get install -y \
git \
unzip \
libzip-dev \
libxml2-dev \
libicu-dev \
libonig-dev \
default-mysql-client \
&& docker-php-ext-install zip \
&& docker-php-ext-install dom \
&& docker-php-ext-install intl \
&& docker-php-ext-install mbstring \
&& docker-php-ext-install pdo \
&& docker-php-ext-install pdo_mysql
# Install Composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
# Set working directory
WORKDIR /app
# Copy composer files first for caching
COPY composer.json composer.lock* ./
# Install dependencies
RUN composer install --no-interaction --no-scripts --no-autoloader --prefer-dist
# Copy application code
COPY . .
# Generate autoloader
RUN composer dump-autoload
# Default command
CMD ["composer", "test"]