.. | ||
install.d | ||
pre-init.d | ||
.gitignore | ||
build | ||
Dockerfile | ||
files.tar | ||
main.sh | ||
README.md |
pluie/alpine-apache
- index
- pluie/alpine ( < 10 MB ) Alpine/3.4
- pluie/alpine-apache ( ~ 50 MB ) Apache/2.4.23 Php/5.6.24
- pluie/alpine-apache-fpm ( ~ 50 MB ) Apache/2.4.23 Php/5.6.24 Fpm
- pluie/alpine-symfony ( ~ 82 MB ) Symfony2.8 or 3.0
- pluie/alpine-apache-php7 ( ~ 50 MB ) Apache/2.4.25 Php/7.0.15
- pluie/alpine-mysql ( ~172 MB ) Mysql/5.5.47 ( MariaDB )
- docker tips
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"