5.4-apache
(5.4/apache/Dockerfile)5.4-apache-xdebug
(5.4/apache-xdebug/Dockerfile)5.4-cli
(5.4/cli/Dockerfile)5.4-onbuild
(5.4/onbuild/Dockerfile)
5.5-apache
(5.5/apache/Dockerfile)5.5-apache-xdebug
(5.5/apache-xdebug/Dockerfile)5.5-cli
(5.5/cli/Dockerfile)5.5-onbuild
(5.5/onbuild/Dockerfile)
5.6-apache
(5.6/apache/Dockerfile)5.6-apache-xdebug
(5.6/apache-xdebug/Dockerfile)5.6-cli
(5.6/cli/Dockerfile)5.6-onbuild
(5.6/onbuild/Dockerfile)
7.0-apache
(7.0/apache/Dockerfile)7.0-apache-xdebug
(7.0/apache-xdebug/Dockerfile)7.0-cli
(7.0/cli/Dockerfile)7.0-onbuild
(7.0/onbuild/Dockerfile)7.0-varnish
(7.0/varnish/Dockerfile)7.0-varnish-xdebug
(7.0/varnish-xdebug/Dockerfile)
7.1-apache
(7.1/apache/Dockerfile)7.1-apache-xdebug
(7.1/apache-xdebug/Dockerfile)7.1-cli
(7.1/cli/Dockerfile)7.1-onbuild
(7.1/onbuild/Dockerfile)7.1-varnish
(7.1/varnish/Dockerfile)7.1-varnish-xdebug
(7.1/varnish-xdebug/Dockerfile)
7.2-apache
(7.2/apache/Dockerfile)7.2-apache-xdebug
(7.2/apache-xdebug/Dockerfile)7.2-cli
(7.2/cli/Dockerfile)7.2-onbuild
(7.2/onbuild/Dockerfile)7.2-onbuild-xdebug
(7.2/onbuild-xdebug/Dockerfile)7.2-varnish
(7.2/varnish/Dockerfile)7.2-varnish-xdebug
(7.2/varnish-xdebug/Dockerfile)
7.3-apache
(7.3/apache/Dockerfile)7.3-apache-xdebug
(7.3/apache-xdebug/Dockerfile)7.3-cli
(7.3/cli/Dockerfile)7.3-onbuild
(7.3/onbuild/Dockerfile)7.3-onbuild-xdebug
(7.3/onbuild-xdebug/Dockerfile)7.3-varnish
(7.3/varnish/Dockerfile)7.3-varnish-xdebug
(7.3/varnish-xdebug/Dockerfile)
For more information about these images and there history, please see the relevant manifest file (library/php
) in the docker-library/official-images
GitHub repo.
For PHP projects run through the command line interface (CLI), you can do the following.
FROM ozconseil/php:5.6-cli COPY . /usr/src/myapp WORKDIR /usr/src/myapp CMD [ "php", "./your-script.php" ]
Then, run the commands to build and run the Docker image:
docker build -t my-php-app . docker run -it --rm --name my-running-app my-php-app
More commonly, you will probably want to run PHP in conjunction with Apache httpd. Conveniently, there's a version of the PHP container that's packaged with the Apache web server.
FROM ozconseil/php:5.6-apache COPY src/ /var/www/html/
Where src/
is the directory containing all your php code. Then, run the commands to build and run the Docker image:
docker build -t my-php-app . docker run -it --rm --name my-running-app my-php-app
We recommend that you add a custom php.ini
configuration. COPY
it into /usr/local/etc/php
by adding one more line to the Dockerfile above and running the same commands to build and run:
FROM ozconseil/php:5.6-apache COPY config/php.ini /usr/local/etc/php COPY src/ /var/www/html/
Where src/
is the directory containing all your php code and config/
contains your php.ini
file.
- mod_rewrite
Add this line to your Dockerfile:
RUN a2enmod rewrite
- mysqlnd
- curl
- openssl
- pcre
- readline
- recode
- zlib
- bz2
- gd (jpg/png/ttf)
- intl
- mbstring
- mcrypt
- mysqli
- pdo_mysql
- pdo_pgsql
- pgsql
- zip
We provide two convenient scripts named docker-php-ext-configure
and docker-php-ext-install
, you can use them to easily install PHP extension.
For example, if you want to have a PHP-FPM image with iconv
, mcrypt
and gd
extensions, you can inheriting the base image that you like, and write your own Dockerfile
like this:
FROM ozconseil/php:5.6
# Install modules
RUN apt-get update && apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng12-dev \
&& docker-php-ext-install iconv mcrypt \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install gd
Remember, you must install dependencies for your extensions manually. If an extension needs custom configure
arguments, you can use the docker-php-ext-configure
script like this example.
View license information for the software contained in this image.