docker-images/pluie/alpine-apache-fpm
2017-03-16 04:35:46 +01:00
..
install.d Merge branch 'master' of https://git.pluie.org/pluie/docker-images 2017-03-15 04:41:30 +01:00
pre-init.d fix apache $WWW-DIR creation 2017-03-15 04:35:10 +01:00
.gitignore manage apache-fpm + fix alpine-symfony 2016-08-12 04:18:48 +02:00
build manage apache-fpm + fix alpine-symfony 2016-08-12 04:18:48 +02:00
Dockerfile adding pluie/alpine-apache-php7 2017-01-29 23:44:52 +01:00
files.tar fixing symfony init + enabling gateway ip on dev 2017-03-16 04:35:46 +01:00
main.sh manage apache-fpm + fix alpine-symfony 2016-08-12 04:18:48 +02:00
README.md fix php7 & add symfony-php7 2017-01-30 02:58:46 +01:00

pluie/alpine-apache

Extend pluie/alpine with apache 2.4.23 and php 5.6.24 with FPM

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

Image Size

  • image ~ 50 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"