2022-07-01 19:17:19 +02:00
2022-07-01 18:21:34 +02:00
2022-07-01 18:21:34 +02:00
2022-07-01 18:31:13 +02:00
2022-07-01 19:18:16 +02:00
2022-07-01 18:26:36 +02:00

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:
    php-fpm:
        image: jkaninda/nginx-php-fpm:latest
        container_name: php-fpm
        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:

Open php-fpm

docker-compose exec php-fpm /bin/bash

Laravel migration

php atisan  migrate

Advanced Nignx-php-fpm:

docker-compose.yml

version: '3'
services:
    php-fpm:
        image: jkaninda/nginx-php-fpm
        container_name: php-fpm
        working_dir: /var/www/html #Optional, If you want to use  a custom directory
        restart: unless-stopped 
        ports:
           - "80:80"    
        volumes:
        #Project root
            - ./:/var/www/html
            - ~/.ssh:/root/.ssh # If you use private CVS
            - ./supervisord:/etc/supervisor/conf.d/ # Supervisor directory, if you want to add more supervisor process config file
            - ./php.ini:/usr/local/etc/php/conf.d/php.ini # Optional, your custom php init file
            -  storage-data:/var/www/html/storage/app #Optional, your custom storage data
        environment:
           - APP_ENV=development # Optional, or production
           - WORKDIR=/var/www/html #Optional, If you want to use  a custom directory
           - LARAVEL_PROCS_NUMBER=3 # Optional, Laravel queue:work process number
           - CLIENT_MAX_BODY_SIZE=20M
           - DOMAIN=example.com 
volumes:
 storage-data: 

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

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

Description
🐳 Docker image Nginx PHP-FPM container created to run Laravel or any php based applications, with extensions for Redis, Memcached, MySQL, Postgres, Events, Redis, Kafka, Laravel Schedule, Cron job and custom default configuration.
Readme MIT 213 KiB
Languages
Dockerfile 77%
Shell 19.5%
Makefile 3.4%