A Nginx + PHP 5.6 (FPM) base container. Builds upon on the excellent phusion/baseimage-docker container. You can find the docker automated build here.
All services are defined and managed using the phusion/baseimage methodology. Logs are output using syslog and can be accessed using docker logs {container}
.
- Nginx
- PHP-FPM (5.6)
- NTPD
- New Relic APM
The container sets up a www root folder in the following location:
/var/www/public
As a final task a demo index.php is copied to this location.
The following folder is specified as the default root web folder:
/var/www/public
Note that the /var/www/public
is the root folder for serving PHP files for your web server. The following ports are exposed:
- 80 (HTTP)
- 443 (HTTPS/SSL)
The image generates a self-signed certificate for each container within the folder:
/etc/nginx/certs.d/
During build the build/default
file is used to copy and configure nginx default settings. This includes a cipher suite for legacy browser (IE8+) support. See: https://cipherli.st/
Installs New Relic APM daemon on container startup to monitor the php application within the image. See this tutorial for more information.
The following environment variables are required in order to complete the New Relic configuration:
NR_INSTALL_KEY
134adf09dsfblahsomethingNR_APP_NAME
"Docker PHP App Name"
If the NR_INSTALL_KEY
New Relic will not be setup. By default this will prevent monitoring as the key is invalid until entered on startup. Eg:
docker run --name nginx -e NR_INSTALL_KEY="134adf09dsfblahsomething" -e NR_APP_NAME="nginx-test" -p 80:80 -p 443:443 -d mstrazds/nginx-php56:latest
Contains nginx config files as well as php-fpm settings. Also include setup.sh file that offloads tasks from the Dockerfile to reduce layers.
This image supports mysql and postgres.
Note that PHP-FPM has been configured to pass through environment variables when starting the container using the clear_env = no
flag within the /etc/php5/fpm/pool.d/www.conf
file.