Files
MKM/Dockerfile
Jp 1dbc32722a chore: improve container build and deployment configuration
- Add common system directories to .dockerignore to prevent accidental inclusion
- Reorder Dockerfile instructions for better clarity and performance
- Remove remote deployment targets from Makefile to simplify local development workflow
2026-02-26 13:44:36 +08:00

39 lines
837 B
Docker

FROM docker.io/alpine:3.21
# Install PHP 8.4 and common extensions from Alpine community repos
RUN apk add --no-cache \
php84 \
php84-fpm \
php84-pdo_mysql \
php84-mbstring \
php84-exif \
php84-pcntl \
php84-bcmath \
php84-gd \
php84-zip \
php84-intl \
php84-curl \
php84-tokenizer \
php84-xml \
php84-xmlwriter \
php84-session \
curl
# Create a symlink so 'php' command works
RUN ln -sf /usr/bin/php84 /usr/bin/php
# Set working directory early
WORKDIR /app
# Copy application files explicitly from the context
COPY . /app
# Get Composer
COPY --from=docker.io/composer:latest /usr/bin/composer /usr/bin/composer
# Laravel permission fix
RUN chmod -R 775 /app/storage /app/bootstrap/cache
EXPOSE 8000
CMD ["php", "artisan", "serve", "--host=0.0.0.0", "--port=8000"]