From c8d446177179f5ba93e383b68c25ebc8bb08f061 Mon Sep 17 00:00:00 2001 From: Mahmoud Zalt Date: Mon, 25 Jul 2016 01:30:19 +0300 Subject: [PATCH] Refactor the PHP 7 Dockerfile --- php-fpm/Dockerfile-70 | 73 ++++++++++++++++++++++++++++--------------- 1 file changed, 48 insertions(+), 25 deletions(-) diff --git a/php-fpm/Dockerfile-70 b/php-fpm/Dockerfile-70 index b6df086d..84dd53d0 100644 --- a/php-fpm/Dockerfile-70 +++ b/php-fpm/Dockerfile-70 @@ -1,41 +1,60 @@ -FROM php:7.0-fpm +# +#-------------------------------------------------------------------------- +# Image Setup +#-------------------------------------------------------------------------- +# -MAINTAINER Mahmoud Zalt +FROM php:7.0-fpm ADD ./laravel.ini /usr/local/etc/php/conf.d ADD ./laravel.pool.conf /usr/local/etc/php-fpm.d/ -RUN apt-get update && apt-get install -y \ - libpq-dev \ - libmemcached-dev \ +RUN apt-get update + +# +#-------------------------------------------------------------------------- +# Software's Installation +#-------------------------------------------------------------------------- +# +# Installing tools and PHP extentions using "apt", "docker-php", "pecl", +# + +# Install "curl", "libmemcached-dev", "libpq-dev", "libjpeg-dev", +# "libpng12-dev", "libfreetype6-dev", "libssl-dev", "libmcrypt-dev", +RUN apt-get install -y --no-install-recommends \ curl \ + libmemcached-dev \ + libpq-dev \ libjpeg-dev \ libpng12-dev \ libfreetype6-dev \ libssl-dev \ - libmcrypt-dev \ - --no-install-recommends \ - && rm -r /var/lib/apt/lists/* + libmcrypt-dev -# install mcrypt library +# Install the PHP mcrypt extention RUN docker-php-ext-install mcrypt -# Install mongodb driver +# Install the PHP pdo_mysql extention +RUN docker-php-ext-install pdo_mysql + +# Install the PHP pdo_pgsql extention +RUN docker-php-ext-install pdo_pgsql + +# Install the PHP gd library +RUN docker-php-ext-install gd \ + && docker-php-ext-configure gd \ + --enable-gd-native-ttf \ + --with-jpeg-dir=/usr/lib \ + --with-freetype-dir=/usr/include/freetype2 + +# Install the mongodb extention RUN pecl install mongodb -# configure gd library -RUN docker-php-ext-configure gd \ - --enable-gd-native-ttf \ - --with-jpeg-dir=/usr/lib \ - --with-freetype-dir=/usr/include/freetype2 +# Install the xdebug extention +RUN pecl install xdebug \ + && docker-php-ext-enable xdebug -# Install extensions using the helper script provided by the base image -RUN docker-php-ext-install \ - pdo_mysql \ - pdo_pgsql \ - gd - -# Install Memcached for php 7 +# Install the memcached extention RUN curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/php7.tar.gz" \ && mkdir -p memcached \ && tar -C memcached -zxvf /tmp/memcached.tar.gz --strip 1 \ @@ -50,9 +69,13 @@ RUN curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-m && rm /tmp/memcached.tar.gz \ && docker-php-ext-enable memcached -# Install xdebug -RUN pecl install xdebug \ - && docker-php-ext-enable xdebug +# +#-------------------------------------------------------------------------- +# Final Touch +#-------------------------------------------------------------------------- +# + +RUN rm -r /var/lib/apt/lists/* RUN usermod -u 1000 www-data