.. | ||
install.d | ||
pre-init.d | ||
.gitignore | ||
build | ||
Dockerfile | ||
files.tar | ||
main.sh | ||
README.md |
pluie/alpine-apache
Extend pluie/alpine with apache 2.4.23 and php 5.6.24
- error log are attached to stdout
- no need port redirection
- you can use env var at container creation : HTTP_SERVER_NAME (default : docker-site.dev 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=apache.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=Apache # 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/ # documentRoot
|
|---- vhost # apache app vhost
Image Usage
chdir to your project directory
$ docker run --name apache -it --link=mysql:db1 -v $(pwd):/app pluie/alpine-apache
or
$ docker run --name apache -it --link=mysql:db1 -e HTTP_SERVER_NAME=yourServerName -v $(pwd):/app pluie/alpine-apache
Controling http server
$ docker exec -it apache "httpd -k restart"
for more commands :
$ docker exec -it apache "httpd -h"