use nginx and php-fpm for docker #2
@@ -1,21 +1,6 @@
|
||||
FROM docker.arvancloud.ir/composer:latest AS builder
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY composer.json composer.lock ./
|
||||
|
||||
RUN composer install \
|
||||
--no-dev \
|
||||
--no-scripts \
|
||||
--no-autoloader \
|
||||
--prefer-dist
|
||||
|
||||
COPY . .
|
||||
|
||||
RUN composer dump-autoload --optimize --classmap-authoritative
|
||||
|
||||
FROM php:8.5.3-fpm-alpine3.23 AS application
|
||||
FROM php:8.5.3-fpm-alpine3.23
|
||||
|
||||
# Install common PHP extension dependencies
|
||||
RUN apk update && apk add --no-cache \
|
||||
bash \
|
||||
curl \
|
||||
@@ -29,13 +14,23 @@ RUN apk update && apk add --no-cache \
|
||||
libzip-dev \
|
||||
libpq-dev \
|
||||
&& docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp \
|
||||
&& docker-php-ext-install pdo_pgsql pdo_mysql gd zip
|
||||
&& docker-php-ext-install pdo_pgsql gd zip
|
||||
|
||||
# Set the working directory
|
||||
WORKDIR /var/www/payment
|
||||
|
||||
COPY --from=builder /app /var/www/payment
|
||||
COPY . .
|
||||
|
||||
RUN chown -R www-data:www-data /var/www/payment \
|
||||
&& chmod -R 665 storage bootstrap/cache
|
||||
RUN chmod -R 665 /var/www/payment/storage /var/www/payment/bootstrap/cache
|
||||
|
||||
CMD ["php-fpm"]
|
||||
# Install Composer
|
||||
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
|
||||
ENV COMPOSER_ALLOW_SUPERUSER=1
|
||||
|
||||
# Default command
|
||||
CMD composer install ;\
|
||||
composer dump-autoload --optimize --classmap-authoritative ;\
|
||||
php artisan key:generate ;\
|
||||
php artisan migrate ;\
|
||||
php artisan db:seed ;\
|
||||
php-fpm
|
||||
|
||||
41
backend/Dockerfile.production
Normal file
41
backend/Dockerfile.production
Normal file
@@ -0,0 +1,41 @@
|
||||
FROM docker.arvancloud.ir/composer:latest AS builder
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY composer.json composer.lock ./
|
||||
|
||||
RUN composer install \
|
||||
--no-dev \
|
||||
--no-scripts \
|
||||
--no-autoloader \
|
||||
--prefer-dist
|
||||
|
||||
COPY . .
|
||||
|
||||
RUN composer dump-autoload --optimize --classmap-authoritative
|
||||
|
||||
FROM php:8.5.3-fpm-alpine3.23 AS application
|
||||
|
||||
RUN apk update && apk add --no-cache \
|
||||
bash \
|
||||
curl \
|
||||
libpng \
|
||||
libpng-dev \
|
||||
libjpeg-turbo-dev \
|
||||
freetype-dev \
|
||||
libwebp-dev \
|
||||
libxml2-dev \
|
||||
unzip \
|
||||
libzip-dev \
|
||||
libpq-dev \
|
||||
&& docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp \
|
||||
&& docker-php-ext-install pdo_pgsql gd zip
|
||||
|
||||
WORKDIR /var/www/payment
|
||||
|
||||
COPY --from=builder /app /var/www/payment
|
||||
|
||||
RUN chown -R www-data:www-data /var/www/payment \
|
||||
&& chmod -R 665 storage bootstrap/cache
|
||||
|
||||
CMD ["php-fpm"]
|
||||
@@ -1,6 +1,6 @@
|
||||
services:
|
||||
nginx:
|
||||
image: docker.arvancloud.ir/nginx:stable-alpine3.23-perl
|
||||
image: nginx:stable-alpine3.23-perl
|
||||
container_name: nginx
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
@@ -12,7 +12,7 @@ services:
|
||||
- payment
|
||||
|
||||
redis:
|
||||
image: docker.arvancloud.ir/redis:8.6.0-alpine3.23
|
||||
image: redis:8.6.0-alpine3.23
|
||||
container_name: redis
|
||||
restart: unless-stopped
|
||||
tty: true
|
||||
|
||||
Reference in New Issue
Block a user