# Use the official PHP image based on Alpine Linux FROM php:5.6-fpm-alpine # Install system dependencies and PHP extensions RUN apk --update --no-cache add \ nginx \ libpng-dev \ libjpeg-turbo-dev \ freetype-dev \ libzip-dev \ zip \ unzip \ libmcrypt-dev \ && docker-php-ext-configure gd --with-freetype --with-jpeg \ && docker-php-ext-install gd pdo pdo_mysql zip mcrypt # Set the working directory in the container WORKDIR /var/www # Clear cache # RUN apt-get clean && rm -rf /var/lib/apt/lists/* # Copy the Laravel application files to the container COPY . . # Set appropriate permissions for Laravel storage and bootstrap cache RUN chown -R www-data:www-data storage bootstrap # Install Composer RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer # Install Laravel dependencies RUN composer install --no-plugins --no-scripts # Generate Laravel application key RUN php artisan key:generate # Create directory for the socket and set permissions RUN mkdir -p /run/php && chown www-data:www-data /run/php # Copy the www.conf file to PHP-FPM pool.d directory COPY www.conf /usr/local/etc/php-fpm.d/www.conf # Expose port 9000 and start php-fpm server EXPOSE 9000 CMD ["php-fpm"]