From d87efd86e7d3fe3879ed7ea7576186bd84180eab Mon Sep 17 00:00:00 2001 From: Frank John Begornia Date: Sat, 30 Dec 2023 01:56:09 +0800 Subject: [PATCH] updated --- Dockerfile | 67 +++++++++++++++++++++++++++++------------------------- 1 file changed, 36 insertions(+), 31 deletions(-) diff --git a/Dockerfile b/Dockerfile index 7b06f11..8a08879 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,41 +1,46 @@ -# Use an official PHP 5.6 Apache image -FROM php:5.6-apache +# Use the official PHP image based on Alpine Linux +FROM php:5.6-fpm-alpine -# Set the working directory inside the container -WORKDIR /var/www/html +# 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 -# Install required dependencies -RUN apt-get update && \ - apt-get install -y \ - libfreetype6-dev \ - libjpeg62-turbo-dev \ - libpng12-dev \ - libmcrypt-dev \ - libzip-dev \ - unzip \ - git \ - curl +# Set the working directory in the container +WORKDIR /var/www -# Install Composer globally -RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer +# Clear cache +# RUN apt-get clean && rm -rf /var/lib/apt/lists/* -# Enable required PHP extensions -RUN docker-php-ext-install pdo_mysql mbstring zip mcrypt - -# Enable Apache modules -RUN a2enmod rewrite - -# Copy the Laravel application files into the container +# 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-interaction --optimize-autoloader +RUN composer install --no-plugins --no-scripts -# Set permissions -RUN chown -R www-data:www-data /var/www/html/storage /var/www/html/bootstrap +# Generate Laravel application key +RUN php artisan key:generate -# Expose port 80 -EXPOSE 80 +# Create directory for the socket and set permissions +RUN mkdir -p /run/php && chown www-data:www-data /run/php -# Start the Apache server -CMD ["apache2-foreground"] +# 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"] \ No newline at end of file