This is a Docker image with PHP, Composer, and Apache (running in Foreground) serving from public/ folder. Ideal for Laravel, Lumen and other modern php apps.
- [
7.2
(7.2/Dockerfile)][7.2] 7.1
(7.1/Dockerfile)7.0
(7.0/Dockerfile)5.6
(5.6/Dockerfile)5.5
(5.5/Dockerfile)
Included on top of base PHP image
- mbstring
- mcrypt
- zip
- composer (avaiable globally)
- xdebug (enabled with
-e PHP_XDEBUG=1
)
This docker image is built for index.php
file being in the public/
directory. mod_rewrite
is enabled.
At a minimum, you will want this in your Dockerfile
:
FROM socialengine/php-apache:5.6
COPY . /app
RUN composer install
Then you can build & run your app in the docker container.
If you want to enable xdebug:
$ docker run -e PHP_XDEBUG=1 [your image]
See example for further info.
A lot of times, your depedant services aren't ready to go as fast as your app
For that, there's a check_docker_link
command that will check TCP to make
sure its up
Usage: check_docker_link <name> <addr> <port>
# Example
if check_docker_link "mysql" "${DB_1_PORT_3306_TCP_ADDR}" "${DB_1_PORT_3306_TCP_PORT}"; then
export MYSQL_HOST=${DB_1_PORT_3306_TCP_ADDR}
export MYSQL_PORT=${DB_1_PORT_3306_TCP_PORT}
fi