Go to file
2019-01-27 07:52:36 +01:00
config Run the services in the container as non-privileged user 2019-01-26 13:54:53 +01:00
src Rewrote the example setup to have only one Docker container 2016-02-24 11:08:50 +01:00
Dockerfile Run the services in the container as non-privileged user 2019-01-26 13:54:53 +01:00
LICENSE Added MIT license 2018-10-03 10:26:49 +02:00
README.md Updated README 2019-01-27 07:52:36 +01:00

Docker PHP-FPM 7.2 & Nginx 1.14 on Alpine Linux

Example PHP-FPM 7.2 & Nginx 1.14 setup for Docker, build on Alpine Linux. The image is only +/- 35MB large.

Repository: https://github.com/TrafeX/docker-php-nginx

  • Built on the lightweight and secure Alpine Linux distribution
  • Very small Docker image size (+/-35MB)
  • Uses PHP 7.2 for better performance, lower cpu usage & memory footprint
  • Optimized for 100 concurrent users
  • Optimized to only use resources when there's traffic (by using PHP-FPM's ondemand PM)
  • The servers Nginx, PHP-FPM and supervisord run under a non-privileged user (nobody) to make it more secure
  • The logs of all the services are redirected to the output of the Docker container (visible with docker logs -f <container name>)
  • Follows the KISS principle (Keep It Simple, Stupid) to make it easy to understand and adjust the image

Docker Pulls

Breaking changes (26/01/2019)

Please note that the new builds since 26/01/2019 are exposing a different port to access Nginx. To be able to run Nginx as a non-privileged user, the port it's running on needed to change to a non-privileged port (above 1024).

The last build of the old version that exposed port 80 was trafex/alpine-nginx-php7:ba1dd422

Usage

Start the Docker container:

docker run -p 80:8080 trafex/alpine-nginx-php7

See the PHP info on http://localhost, or the static html page on http://localhost/test.html