docker-images/pluie/alpine-apache-php7
2017-03-16 04:35:46 +01:00
..
install.d fixing symfony init + enabling gateway ip on dev 2017-03-16 04:35:46 +01:00
pre-init.d fix apache $WWW-DIR creation 2017-03-15 04:35:10 +01:00
build adding pluie/alpine-apache-php7 2017-01-29 23:44:52 +01:00
Dockerfile amend 2017-01-30 00:12:54 +01:00
files.tar fixing symfony init + enabling gateway ip on dev 2017-03-16 04:35:46 +01:00
main.sh adding pluie/alpine-apache-php7 2017-01-29 23:44:52 +01:00
README.md fix php7 & add symfony-php7 2017-01-30 02:58:46 +01:00

pluie/alpine-apache-php7

Extend pluie/alpine with apache 2.4.25 and php 7.0.15

  • error log are attached to stdout
  • no need port redirection
  • you can use env var at container creation : HTTP_SERVER_NAME (default : site.docker ortherwise edit /app/vhost later)
  • you can still use ever your local http & sql server while your container(s) are running

Image Size

  • image ~ 50 MB

ENV variables

 HTTP_SERVER_NAME=site.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=Php7          # container name 
      SHENV_COLOR=67            # ANSI EXTENDED COLOR CODE
               TZ=Europe/Paris  # TIMEZONE

Image Volumes

/app directory is a docker volume bind to your app project (silex/symfony etc)

/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 php7 -it --link=mysql:db -v $(pwd):/app pluie/alpine-apache

or

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

Controling http server

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

for more commands :

$ docker exec -it php7 "httpd -h"