Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

php-pm/php-pm-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

18 Commits

Repository files navigation

PHP-PM Docker

You can use PHP-PM using Docker. We provide you several images always with PHP-PM and PHP7 pre-installed.

Images

  • phppm/nginx: Contains php-pm and uses NGiNX as static file serving
  • phppm/standalone: Contains php-pm and uses php-pm's ability to serve static files (slower)
  • phppm/ppm: Just the php-pm binary as entry point

Examples

# 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/ phppm/ppm --help
$ docker run -v `pwd`:/var/www/ phppm/ppm config --help
# with nginx as static file server
$ docker run -v `pwd`:/var/www -p 8080:80 phppm/nginx
# with php-pm as static file server (dev only)
$ docker run -v `pwd`:/var/www -p 8080:80 phppm/standalone
# use `PPM_CONFIG` environment variable to choose a different ppm config file.
$ docker run -v `pwd`:/var/www -p 80:80 phppm/nginx -c ppm-prod.json
# enable file tracking, to automatically restart ppm when php source changed
$ docker run -v `pwd`:/var/www -p 80:80 phppm/nginx --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 phppm/nginx --static-directory=web/
# Use 16 threads/workers for PHP-PM.
$ docker run -v `pwd`:/var/www -p 80:80 phppm/nginx --workers=16

Docker compose

version: "3.1"
services:
 ppm:
 image: phppm/nginx
 command: --debug=1 --app-env=dev --static-directory=web/
 volumes:
 - ./symfony-app/:/var/www
 ports:
 - "80:80"

Configuration

You should configure PPM via the ppm.json 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 phppm/ppm config --help
# not persisting config changes
docker run -v `pwd`:/var/www -p 80:80 phppm/nginx --help
docker run -v `pwd`:/var/www -p 80:80 phppm/nginx --workers=1 --debug 1
docker run -v `pwd`:/var/www -p 80:80 phppm/nginx --c prod-ppm.json

Build image with own tools/dependencies

If your applications requires additional php modules or other tools and libraries in your container, you can use our image as base. We use lightweight Alpine Linux.

# Dockerfile
FROM phppm/nginx:1.0
RUN apk --no-cache add git
RUN apk --no-cache add ca-certificates wget
# whatever you need 
docker build vendor/my-image -f Dockerfile .
# now use vendor/my-image instead of `phppm/nginx`

About

Docker files for PHP-PM

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /