Files
nginx-php-fpm/README.md
2022-08-14 14:43:00 +02:00

2.6 KiB

Docker Cloud Build Status Docker Cloud Automated build Docker Image Size (latest by date) Docker Pulls

Nginx PHP-FPM Docker image

🐳 Docker image for Nginx PHP-FPM container crafted to run Laravel or any php based applications.

Specifications:

  • PHP 8.1 / 8.0 / 7.4 / 7.2
  • Composer
  • OpenSSL PHP Extension
  • XML PHP Extension
  • PDO PHP Extension
  • Rdkafka PHP Extension
  • Redis PHP Extension
  • Mbstring PHP Extension
  • PCNTL PHP Extension
  • ZIP PHP Extension
  • GD PHP Extension
  • BCMath PHP Extension
  • Memcached
  • Laravel Cron Job
  • Laravel Schedule
  • Laravel Envoy
  • Supervisord

Simple docker-compose usage:

version: '3'
services:
    app:
        image: jkaninda/nginx-php-fpm:latest
        container_name: my-app
        restart: unless-stopped      
        volumes:
        #Project root
            - ./:/var/www/html
        ports:
           - "80:80"
        networks:
            - default #if you're using networks between containers

Laravel artisan command usage:

CLI

docker-compose exec  app bash

docker exec -it app bash

Advanced Nignx-php-fpm:

docker-compose.yml

version: '3'
services:
    app:
        image: jkaninda/nginx-php-fpm
        container_name: nginx-fpm
        restart: unless-stopped 
        ports:
           - "80:80"    
        volumes:
        #Project root
            - ./:/var/www/html
            - ~/.ssh:/root/.ssh # If you use private CVS
             #./php.ini:/usr/local/etc/php/conf.d/php.ini # Optional, your custom php init file
        environment:
           - APP_ENV=development # Optional, or production
           - LARAVEL_PROCS_NUMBER=2 # Optional, Laravel queue:work process number
           #- CLIENT_MAX_BODY_SIZE=20M # Optional
           #- DOMAIN=example.com # Optional
           #- DOCUMENT_ROOT=/var/www/html Optional
 

Docker run

 docker-compose up -d

Nginx custom config:

Enable custom nginx config files

/var/www/html/conf/nginx/nginx.conf

/var/www/html/conf/nginx/nginx-site.conf

Supervisord

Add more supervisor process in

/var/www/html/conf/worker/supervisor.conf

P.S. please give a star if you like it 😉