Sign inSign up

divido/php

By divido

Updated about 4 years ago

PHP base images (for CLI, RPC and FPM workloads)

Image
0

100K+

divido/php repository overview

PHP

These docker images are bases for Divido PHP microservices. Many services can use one of these images directly, although if special packages are required then these can serve as bases/

Entrypoint

All images are now rolled with a script which can be used as a default entrypoint in your docker file. The entrypoint supports:

  1. Checking network connectivity before the main process starts
  2. Downloading configuration files from credstash

Supported flags:

flagdefault valuenotes
check-networknulltakes no value. If provided, network will be verified before continuing
credstash-confignullvalue is in the form of remote_key:local_file. For example, to download a remote key at autogen.foo.config.json and save it to /opt/divido/app/config.json, the value would be credstash-config=autogen.foo.config.json:/opt/divido/app/config.json
credstash-table<env>-credstashuses the DIVIDO_SHORT_APPLICATION_ENVIRONMENT variable to generate the default table name, e.g. test-credstash
credstash-regioneu-west-1change if your dynamodb table is not in eu-west-1

Examples:
To use the default entrypoint in your Dockerfile

FROM divido/php:7.2-fpm-alpine3.8 # Or another image from this repo
# to check network config
ENTRYPOINT ["/ep", "--check-network-config"] 
# Or to download a configuration file from credstash (note that this flag can be used multiple times for multiple files)
ENTRYPOINT ["/ep", "--credstash-config=autogen.application-api.config.json:/opt/divido/app/config.json"] 

Credstash configs have some specific behaviours, based on the downloaded file name.

1. `*.cacert`: This will assume the certificate is CA certificate, and will install the certficate in the CA path
2. `*.clientcert` and `*.pkey`: These are assumed to be client certficates and private keys. They will remain in the specified download path, but will have their permissions set to `0644`
3. *: anything else will assume to be a configuration file, and will be made world readable.
Base packages

All images come with the following:

packagenotes
credstashfor utilizing Divido credstash configurations
ca-certificatesfor SSL/TLS communication
php-jsonPHP JSON module
php-tokenizerPHP JSON module
php-pdo-mysqlPHP PDO (MySQL) module
php-socketsPHP sockets module
php-bcmathPHP bcmath module
php-xmlPHP XML module
php-redisPHP Redis module
Image variants

All supported versions are available in a combination of PHP version and OS version (currently only Alpine is supported). Within each of these wrappers there are 2 types:

  • fpm: for PHP-FPM (Fast-CGI) workloads (e.g. Nginx proxied APIs)
  • cli: for CLI workloads (e.g. workers)
Versions
tagphp versionOSOS versionnotes
7.2-fpm-alpine3.77.2alpine3.7FPM server
7.2-cli-alpine3.77.2alpine3.7CLI
7.2-cli-alpine3.7-rpc7.2alpine3.7CLI with RPC server
7.2-cli-alpine3.7-sqs7.2alpine3.7CLI with SQS server
7.2-cli-alpine3.7-dev7.2alpine3.7FPM server with Xdebug
7.2-fpm-alpine3.87.2alpine3.8FPM server
7.2-cli-alpine3.87.2alpine3.8CLI
7.2-cli-alpine3.8-rpc7.2alpine3.8CLI with RPC server
7.2-cli-alpine3.8-sqs7.2alpine3.8CLI with SQS server
7.2-cli-alpine3.8-dev7.2alpine3.8FPM server with Xdebug
7.2-fpm-alpine3.97.2alpine3.9FPM server
7.2-cli-alpine3.97.2alpine3.9CLI
7.2-cli-alpine3.9-rpc7.2alpine3.9CLI with RPC server
7.2-cli-alpine3.9-sqs7.2alpine3.9CLI with SQS server
7.2-cli-alpine3.9-dev7.2alpine3.9FPM server with Xdebug
7.2-fpm-alpine3.107.2alpine3.10FPM server
7.2-cli-alpine3.107.2alpine3.10CLI
7.2-cli-alpine3.10-rpc7.2alpine3.10CLI with RPC server
7.2-cli-alpine3.10-sqs7.2alpine3.10CLI with SQS server
7.2-cli-alpine3.10-dev7.2alpine3.10FPM server with Xdebug
7.3-fpm-alpine3.87.3alpine3.8FPM server
7.3-cli-alpine3.87.3alpine3.8CLI
7.3-cli-alpine3.8-rpc7.3alpine3.8CLI with RPC server
7.3-cli-alpine3.8-sqs7.3alpine3.8CLI with SQS server
7.3-cli-alpine3.8-dev7.3alpine3.8FPM server with Xdebug
7.3-fpm-alpine3.87.3alpine3.9FPM server
7.3-cli-alpine3.97.3alpine3.9CLI
7.3-cli-alpine3.9-rpc7.3alpine3.9CLI with RPC server
7.3-cli-alpine3.9-sqs7.3alpine3.9CLI with SQS server
7.3-cli-alpine3.9-dev7.3alpine3.9FPM server with Xdebug
7.3-cli-alpine3.9-rpc-dev7.3alpine3.9CLI with RPC server and
7.3-cli-alpine3.107.3alpine3.10CLI
7.3-cli-alpine3.10-rpc7.3alpine3.10CLI with RPC server
7.3-cli-alpine3.10-sqs7.3alpine3.10CLI with SQS server
7.3-cli-alpine3.10-dev7.3alpine3.10FPM server with Xdebug
7.3-cli-alpine3.10-rpc-dev7.3alpine3.10CLI with RPC server and
7.4-cli-alpine3.107.4alpine3.10CLI
7.4-cli-alpine3.10-rpc7.4alpine3.10CLI with RPC server
7.4-cli-alpine3.10-sqs7.4alpine3.10CLI with SQS server
7.4-cli-alpine3.10-dev7.4alpine3.10FPM server with Xdebug
7.4-cli-alpine3.10-rpc-dev7.4alpine3.10CLI with RPC server and
7.4-cli-alpine3.117.4alpine3.11CLI
7.4-cli-alpine3.11-rpc7.4alpine3.11CLI with RPC server
7.4-cli-alpine3.11-sqs7.4alpine3.11CLI with SQS server
7.4-cli-alpine3.11-dev7.4alpine3.11FPM server with Xdebug
7.4-cli-alpine3.11-rpc-dev7.4alpine3.11CLI with RPC server and Xdebug

Tag summary

Content type

Image

Digest

sha256:0be0b7a33

Size

69.2 MB

Last updated

about 4 years ago

docker pull divido/php:8.0-fpm-alpine3.14-dev