Docker-AdvancedFeaturesSecu.../Dockerfile.prod

38 lines
784 B
Docker

FROM php:8.2-cli
# Buat non-root user
ARG USER=appuser
ARG UID=1000
RUN useradd -u $UID -m $USER
# Install dependencies & PostgreSQL driver
RUN apt-get update && apt-get install -y \
libpq-dev \
postgresql-client \
unzip \
git \
libzip-dev \
libicu-dev \
&& docker-php-ext-install pdo pdo_pgsql pgsql zip intl \
&& rm -rf /var/lib/apt/lists/*
# Install Composer
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
WORKDIR /var/www
# Copy source code
COPY . .
# Change owner to non-root user
RUN chown -R $USER:$USER /var/www
# Switch to non-root user
USER $USER
# Install Laravel dependencies
RUN composer install --no-dev --optimize-autoloader --prefer-dist
EXPOSE 8000
CMD ["php", "artisan", "serve", "--host=0.0.0.0", "--port=8000"]