Docker base image is the basic image on which you add layers (which are basically filesystem changes) and create a final image containing your App.
Use Official PHP Docker image as parent.
Use Supervisor as manager for Webserver and PHP-FPM. Supervisord is therefore process 1.
Run container as non-privileged.
Container Entrypoint hooks available.
8.0.x-fpm, 8.0-fpm, 8.0.x-fpm-prd, 8.0-fpm-prd, 8.0.y-fpm-dev, 8.0-fpm-dev
8.0.x-apache, 8.0-apache, 8.0.x-apache-prd, 8.0-apache-prd, 8.0.y-apache-dev, 8.0-apache-dev
8.0.x-nginx, 8.0-nginx, 8.0.x-nginx-prd, 8.0-nginx-prd, 8.0.y-nginx-dev, 8.0-nginx-dev
8.0.x-cli, 8.0-cli, 8.0.x-cli-prd, 8.0-cli-prd, 8.0.y-cli-dev, 8.0-cli-dev
8.1.x-fpm, 8.1-fpm, 8.1.x-fpm-prd, 8.1-fpm-prd, 8.1.y-fpm-dev, 8.1-fpm-dev
8.1.x-apache, 8.1-apache, 8.1.x-apache-prd, 8.1-apache-prd, 8.1.y-apache-dev, 8.1-apache-dev
8.1.x-nginx, 8.1-nginx, 8.1.x-nginx-prd, 8.1-nginx-prd, 8.1.y-nginx-dev, 8.1-nginx-dev
8.1.x-cli, 8.1-cli, 8.1.x-cli-prd, 8.1-cli-prd, 8.1.y-cli-dev, 8.1-cli-dev
8.2.x-fpm, 8.2-fpm, 8.2.x-fpm-prd, 8.2-fpm-prd, 8.2.y-fpm-dev, 8.2-fpm-dev
8.2.x-apache, 8.2-apache, 8.2.x-apache-prd, 8.2-apache-prd, 8.2.y-apache-dev, 8.2-apache-dev
8.2.x-nginx, 8.2-nginx, 8.2.x-nginx-prd, 8.2-nginx-prd, 8.2.y-nginx-dev, 8.2-nginx-dev
8.2.x-cli, 8.2-cli, 8.2.x-cli-prd, 8.2-cli-prd, 8.2.y-cli-dev, 8.2-cli-dev
The docker.io/elasticms/base-php images come in many flavors, each designed for a specific use case.
docker.io/elasticms/base-php:<version>-fpm[-prd]This image is based and use the official PHP Docker Hub image docker.io/php:8.2.x-fpm-alpine3.16 as parent.
It is configured and configurable to support any PHP application.
It use the default php.ini-production configuration files and Supervisor to help automate the Docker image.
docker.io/elasticms/base-php:<version>-devThis image use base-php:<version>-fpm-prd (see above) as parent layer.
It use the default php.ini-development configuration files.
It is strongly recommended to not use this image in production environments!
In addition to the parent layer, this variant include install :
docker.io/elasticms/base-php:<version>-apache[-prd]This image use base-php:<version>-fpm-prd (see above) as parent layer.
This variant contains Apache httpd in conjunction with PHP-FPM and uses supervisor as manager for Apache and PHP-FPM.
docker.io/elasticms/base-php:<version>-nginx[-prd]This image use base-php:<version>-fpm-prd (see above) as parent layer.
This variant contains Nginx Webserver in conjunction with PHP-FPM and uses supervisor as manager for Nginx and PHP-FPM.
docker.io/elasticms/base-php:<version>-cli[-prd]This variant contains the PHP CLI tool with default mods. In addition we install and configure :
docker.io/elasticms/base-php:<version>-apache-devThis image use base-php:<version>-fpm-dev (see above) as parent layer.
This variant contains Apache Webserver in conjunction with PHP-FPM and uses supervisor as manager for Apache and PHP-FPM.
It is strongly recommended to not use this image in production environments!
docker.io/elasticms/base-php:<version>-nginx-devThis image use base-php:<version>-fpm-dev (see above) as parent layer.
This variant contains Nginx Webserver in conjunction with PHP-FPM and uses supervisor as manager for Nginx and PHP-FPM.
It is strongly recommended to not use this image in production environments!
docker.io/elasticms/base-php:<version>-cli-devThis image use base-php:<version>-cli-prd (see above) as parent layer.
In addition to the parent layer, this variant include install :
You can change the amount of memory that PHP-FPM can use by changing / passing the environment variables PHP_FPM_MAX_CHILDREN and PHP_FPM_REQUEST_MAX_MEMORY_IN_MEGABYTES.
These values can be overridden automatically by the startup script if a QoS memory limit is applied and detected in your container.
However, this value can be reduced to a percentage by the configuration of the environment variable CONTAINER_HEAP_PERCENT (default: 80 %).
| Name | Default Value | Description |
|---|---|---|
PHP_FPM_MAX_CHILDREN_AUTO_RESIZING | true | Enable auto-resizing of PHP-FPM Pool Memory settings based on container size. |
PHP_FPM_MAX_CHILDREN | 40 | The maximum number of child processes to be created. (doc) |
PHP_FPM_REQUEST_MAX_MEMORY_IN_MEGABYTES | 16 | The maximum amount of memory in MB that a script is allowed to allocate. (doc) |
CONTAINER_HEAP_PERCENT | 0.80 | Percentage of total memory allowed to use by PHP-FPM. |
| Name | Default Value | Description |
|---|---|---|
VARNISH_ENABLED | false | Enable Varnish. Listen on 6081 for HTTP proto when Varnish is enabled. Management interface is available on 6082. |
VARNISH_STORAGE_MALLOC_CUSTOM_SIZE | 200M | Malloc is a memory based backend. Each object will be allocated from memory. If your system runs low on memory swap will be used. (doc) |
VARNISH_NCSA_LOG_FORMAT_CUSTOM | %%h %%l %%u %%t %%D \"%%r\" %%s %%b %%{Varnish:hitmiss}x \"%%{User-agent}i\" | The varnishncsa utility reads varnishd(1) shared memory logs and presents them in the Apache / NCSA “combined” log format. (doc) |
VARNISH_TTL_CUSTOM | 120 | Specifies the default time to live (TTL) for cached objects. This is a shortcut for specifying the default_ttl run-time parameter. (doc) |
VARNISH_MIN_THREADS_CUSTOM | 5 | The minimum number of worker threads in each pool. (doc) |
VARNISH_MAX_THREADS_CUSTOM | 1000 | The maximum number of worker threads in each pool. (doc) |
VARNISH_THREAD_TIMEOUT_CUSTOM | 120 | Thread idle threshold. (doc) |
VARNISH_VCL_CONF_CUSTOM | /etc/varnish/default.vcl | Use the specified file location as VCL configuration instead of the builtin default. You must provide this file or generate it at container startup. (doc) |
Content type
Image
Digest
sha256:58adb95bd…
Size
213.9 MB
Last updated
2 days ago
docker pull elasticms/base-php:8.4-nginx