php-pm-docker

Docker files for PHP-PM

  • Owner: php-pm/php-pm-docker
  • Platform:
  • License::
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

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`

Main metrics

Overview
Name With Ownerphp-pm/php-pm-docker
Primary LanguageShell
Program languageMakefile (Language Count: 2)
Platform
License:
所有者活动
Created At2018-01-07 18:59:17
Pushed At2022-04-18 16:55:48
Last Commit At2020-01-23 08:15:13
Release Count0
用户参与
Stargazers Count119
Watchers Count6
Fork Count26
Commits Count18
Has Issues Enabled
Issues Count14
Issue Open Count7
Pull Requests Count6
Pull Requests Open Count3
Pull Requests Close Count4
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private