docker-images/pluie/alpine-apache-fpm/README.md
2018-08-14 02:43:27 +02:00

3.5 KiB

pluie/alpine-apache

Extend pluie/alpine with apache 2.4.25 and php 5.6.30 with FPM

  • you can use env var at container creation : HTTP_SERVER_NAME (default : fpm.docker ortherwise edit app/vhost later)

Image Size

  • image ~ 51 MB

ENV variables

 HTTP_SERVER_NAME=fpm.docker    # apache ServerName  
          WWW_DIR=www           # DocumentRoot relative to volume  
        WWW_INDEX=index.php     # DirectoryIndex
    FIX_OWNERSHIP=1             # 

Inherit ENV variables

        SHENV_CTX=LOCAL         # LOCAL|INT|PROD change context bg color
       SHENV_NAME=ApacheFpm     # container name 
      SHENV_COLOR=67            # ANSI EXTENDED COLOR CODE
               TZ=Europe/Paris  # TIMEZONE

Image Volumes

pluie/alpine-apache-fpm has to volumes :

  • /app to bind to your app project (silex/symfony etc)
  • /etc/php5/fpm.d/ to customize fpm

note

/app/$WWW_DIR is the documentRoot.
put only your entry point and static files to the documentRoot directory, no your app sources (/app directory is design for this).

/app/vhost is your app vhost configuration file (with a serverName directive). by default it use the apache rewrite module to redirect all uri to entry point $WWW_INDEX

/app/              # your application directory
  |
  |---- $WWW_DIR/  # documentRoot
  |
  |---- vhost      # apache app vhost

Image Usage

chdir to your project directory

$ docker run --name afpm -it --link=mysql:db -v $(pwd):/app pluie/alpine-apache-fpm

or

$ docker run --name afpm -d --link=mysql:db -e HTTP_SERVER_NAME=yourServerName -v $(pwd):/app pluie/alpine-apache-fpm

Controling http server

# reload
$ docker exec -it afpm "httpd -k graceful"
# restart
$ docker exec -it afpm "httpd -k restart"

for more commands :

$ docker exec -it afpm "httpd -h"