webdevops/php-nginx¶
These image extends webdevops/php
with a nginx daemon which is running on port 80 and 443
Docker image tags¶
Tag | Distribution name | PHP Version |
---|---|---|
5.6 |
customized official php image | PHP 5.6 |
7.0 |
customized official php image | PHP 7.0 |
7.1 |
customized official php image | PHP 7.1 |
alpine |
link to alpine-php7 | PHP 7.x |
alpine-php7 |
PHP 7.x | |
alpine-php5 |
PHP 5.6 | |
alpine-3 |
deprecated | PHP 5.6 |
alpine-3-php7 |
deprecated | PHP 7.x |
ubuntu-12.04 |
precise | PHP 5.3 |
ubuntu-14.04 |
trusty (LTS) | PHP 5.5 |
ubuntu-15.04 |
vivid | PHP 5.6 |
ubuntu-15.10 |
wily | PHP 5.6 |
ubuntu-16.04 |
xenial (LTS) | PHP 7.0 |
debian-7 |
wheezy | PHP 5.4 |
debian-8 |
jessie | PHP 5.6 |
debian-8-php7 |
jessie with dotdeb | PHP 7.x (via sury) |
debian-9 |
stretch | PHP 7.0 |
centos-7 |
PHP 5.4 | |
centos-7-php56 |
PHP 5.6 |
Environment variables¶
Base environment variables¶
Environment variable | Description | Default |
---|---|---|
LOG_STDOUT |
Destination of daemon output | empty (stdout) |
LOG_STDERR |
Destination of daemon errors | empty (stdout) |
SERVICE_CRON_OPTS |
cron daemon arguments | empty (when syslog is used) |
SERVICE_DNSMASQ_OPTS |
dnsmasq daemon arguments | empty (when syslog is used) |
SERVICE_DNSMASQ_USER |
dnsmasq effective user | root |
SERVICE_POSTFIX_OPTS |
postfix daemon arguments | empty (when syslog is used) |
SERVICE_SSH_OPTS |
ssh daemon arguments | empty (when syslog is used) |
SERVICE_SUPERVISOR_OPTS |
supervisor daemon arguments | empty (when syslog is used) |
SERVICE_SUPERVISOR_USER |
supervisor effective user | root |
SERVICE_SYSLOG_OPTS |
syslog daemon arguments | empty (when syslog is used) |
Base environment variables¶
Environment variable | Description | Default |
---|---|---|
POSTFIX_MYNETWORKS |
Postfix mynetworks address | empty |
POSTFIX_RELAYHOST |
Postfix upstream relay server | empty |
Web environment variables¶
Environment variable | Description | Default |
---|---|---|
WEB_DOCUMENT_ROOT |
Document root for webserver | /app |
WEB_DOCUMENT_INDEX |
Index document | index.php |
WEB_ALIAS_DOMAIN |
Domain aliases | *.vm |
WEB_PHP_SOCKET |
PHP-FPM socket address | 127.0.0.1:9000 (for php-* images) |
SERVICE_PHPFPM_OPTS |
PHP-FPM command arguments | empty (when php fpm is used) |
SERVICE_APACHE_OPTS |
Apache comamnd arguments | empty (when apache is used) |
SERVICE_NGINX_OPTS |
Nginx comamnd arguments | empty (when nginx is used) |
Customization¶
PHP customization¶
For customization a placeholder /opt/docker/etc/php/php.ini
is available which will be loaded as last
configuration file. All settings can be overwritten in this ini file.
Either use COPY
inside your Dockerfile
to overwrite this file or use
RUN echo memory_limit = 128 M >> /opt/docker/etc/php/php.ini
to set specific php.ini values.
Nginx customization¶
This image has two directories for configuration files which will be automatic loaded.
For global configuration options the directory /opt/docker/etc/nginx/conf.d
can be used.
For vhost configuration options the directory ``/opt/docker/etc/nginx/vhost.common.conf``can be used.
Any *.conf
files inside these direcories will be included either global or the vhost section.
Docker image layout¶
Nginx layout¶
File/Directory | Description |
/opt/docker/etc/nginx/conf.d |
Main global configuration directory (automatically included files) |
/opt/docker/etc/nginx/conf.d/10-php.conf |
PHP cgi configuration |
/opt/docker/etc/nginx/ssl |
SSL configuration directory for certifications and keys |
/opt/docker/etc/nginx//ssl/server.crt |
Example SSL certification (*.vm) |
/opt/docker/etc/nginx/ssl/server.csr |
Example SSL certification request (*.vm) |
/opt/docker/etc/nginx/ssl/server.key |
Example SSL key (*.vm) |
/opt/docker/etc/nginx/vhost.common.d |
Vhost configuration directory (automatically included files) |
/opt/docker/etc/nginx/vhost.common.d/10-location-root.conf |
Redirect requests to DOCUMENT_INDEX |
/opt/docker/etc/nginx/vhost.common.d/10-php.conf |
PHP cgi configuration for vhost |
/opt/docker/etc/nginx/global.conf |
Global nginx configuration |
/opt/docker/etc/nginx/main.conf |
Main Nginx configuration |
/opt/docker/etc/nginx/php.conf |
Deprecated PHP configuration |
/opt/docker/etc/nginx/vhost.common.conf |
Deprecated vhost common include |
/opt/docker/etc/nginx/vhost.conf |
Vhost configuration |
/opt/docker/etc/nginx/vhost.ssl.conf |
Vhost SSL configuration |
/opt/docker/etc/supervisor.d/nginx.conf |
Supervisord configuration file for Nginx |