NevREnding's Fork of PHP-PM Docker
3.4K
You can use PHP-PM using Docker. We provide you several images always with PHP-PM and PHP7 pre-installed.
nevrending/phppm:nginx: Contains php-pm and uses NGiNX as static file serving (recommended)nevrending/phppm:standalone: Contains php-pm and uses php-pm's ability to serve static files (slower)nevrending/phppm:ppm: Just the php-pm binary as entry point# change into your project folder first
cd your/symfony-project/
# see what php-pm binary can do for you.
$ docker run -v `pwd`:/var/www/ nevrending/phppm:ppm-latest --help
$ docker run -v `pwd`:/var/www/ nevrending/phppm:ppm-latest config --help
# with nginx as static file server
$ docker run -v `pwd`:/var/www -p 8080:80 nevrending/phppm:nginx-latest
# with php-pm as static file server (dev only)
$ docker run -v `pwd`:/var/www -p 8080:80 nevrending/phppm:standalone-latest
# use `PPM_CONFIG` environment variable to choose a different PPM config file.
$ docker run -v `pwd`:/var/www -p 80:80 nevrending/phppm:nginx-latest -c ppm-prod.json
# enable file tracking, to automatically restart PPM when PHP source changed
$ docker run -v `pwd`:/var/www -p 80:80 nevrending/phppm:nginx-latest --debug=1 --app-env=dev
# change static file directory. PPM_STATIC relative to mounted /var/www/.
$ docker run -v `pwd`:/var/www -p 80:80 nevrending/phppm:nginx-latest --static-directory=web/
# Use 16 threads/workers for PHP-PM.
$ docker run -v `pwd`:/var/www -p 80:80 nevrending/phppm:nginx-latest --workers=16
version: "3.1"
services:
ppm:
image: nevrending/phppm:nginx-latest
command: --debug=1 --app-env=dev --static-directory=web/
volumes:
- ./symfony-app/:/var/www
ports:
- "80:80"
You can configure PPM via the ppm.json file in the root directory, which is within the container mounted to
/var/www/. Alternatively, you can overwrite each option using the regular CLI arguments.
# change the ppm.json within current directory
docker run -v `pwd`:/var/www nevrending/phppm:ppm-latest config --help
# not persisting config changes
docker run -v `pwd`:/var/www -p 80:80 nevrending/phppm:nginx-latest --help
docker run -v `pwd`:/var/www -p 80:80 nevrending/phppm:nginx-latest --workers=1 --debug 1
docker run -v `pwd`:/var/www -p 80:80 nevrending/phppm:nginx-latest --c prod-ppm.json
If your application requires additional PHP modules or other tools and libraries in your container, you can use our image as base. We use lightweight Alpine Linux.
FROM nevrending/phppm:nginx-latest
RUN apk --no-cache add git
RUN apk --no-cache add ca-certificates wget
# whatever you need
docker build -f Dockerfile -t my-repo/my-image .
$ make VERSION=dev-master TAG=latest nginx
$ make TAG=latest push-all
Content type
Image
Digest
Size
32.2 MB
Last updated
almost 5 years ago
docker pull nevrending/phppm:2.2.2-laravel