docker-nginx-php icon indicating copy to clipboard operation
docker-nginx-php copied to clipboard

Nginx PHP for Docker

Nginx and PHP for Docker

English | 简体中文

Version

Last Version

Name Version Docker tag
NGINX 1.22.x -
PHP 8.1.x latest / 8.1
PHP 8.0.x 8.0
PHP 7.4.x 7.4

EOL

Docker tag PHP NGINX
7.3 7.3.33 1.21.5
7.2 7.2.34 1.21.5

Include extensions

bcmath,Core,ctype,curl,date,dom,exif,fileinfo,filter,ftp,gd,gettext,hash,iconv,intl,json,libxml,mbstring,mysqli,mysqlnd,openssl,pcntl,pcre,PDO,pdo_mysql,pdo_pgsql,pdo_sqlite,pgsql,Phar,posix,redis,Reflection,session,shmop,SimpleXML,soap,sockets,sodium,SPL,sqlite3,standard,sysvsem,tokenizer,xml,xmlreader,xmlwriter,xsl,zip,zlib

Custom extension

Docker Hub

Nginx-PHP: https://hub.docker.com/r/devcto/nginx-php

Build

git clone https://github.com/jetsung/docker-nginx-php.git

cd nginx-php

docker build --build-arg PHP_VERSION="8.1.1" \
  --build-arg NGINX_VERSION="1.20.0" \
  -t nginx-php:8.1 \
  -f ./Dockerfile .

Installation

Pull the image from the docker index rather than downloading the git repo. This prevents you having to build the image on every docker host.

docker pull devcto/nginx-php:latest

Running

To simply run the container:

docker run --name nginx -p 8080:80 -d devcto/nginx-php

You can then browse to http://\<docker_host\>:8080 to view the default install files.

docker-compose.yaml

version: '3'
services:
  nginx-php:
    image: devcto/nginx-php:latest
    ports:
      - "38080:80"

Command line tools

Use docker exec {CONTAINER ID} {COMMAND}

# Current process
docker exec {CONTAINER ID} ps -ef
# Current PHP version
docker exec {CONTAINER ID} php --version

# supervisord
## HELP
docker exec {CONTAINER ID} supervisorctl --help
## STOP, START, STATUS (stop/start/status)
docker exec {CONTAINER ID} supervisorctl stop all
## STOP NGINX / PHP
docker exec {CONTAINER ID} supervisorctl stop nginx/php-fpm

# Container not started
## PHP version
docker run --rm -it devcto/nginx-php:latest php --version

## NGINX version
docker run --rm -it devcto/nginx-php:latest nginx -v

CHANGELOG

License

This project is licensed under the MIT license.