Refactor the PHP 7 Dockerfile
This commit is contained in:
		@@ -1,41 +1,60 @@
 | 
				
			|||||||
FROM php:7.0-fpm
 | 
					#
 | 
				
			||||||
 | 
					#--------------------------------------------------------------------------
 | 
				
			||||||
 | 
					# Image Setup
 | 
				
			||||||
 | 
					#--------------------------------------------------------------------------
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
 | 
					FROM php:7.0-fpm
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ADD ./laravel.ini /usr/local/etc/php/conf.d
 | 
					ADD ./laravel.ini /usr/local/etc/php/conf.d
 | 
				
			||||||
ADD ./laravel.pool.conf /usr/local/etc/php-fpm.d/
 | 
					ADD ./laravel.pool.conf /usr/local/etc/php-fpm.d/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RUN apt-get update && apt-get install -y \
 | 
					RUN apt-get update
 | 
				
			||||||
    libpq-dev \
 | 
					
 | 
				
			||||||
    libmemcached-dev \
 | 
					#
 | 
				
			||||||
 | 
					#--------------------------------------------------------------------------
 | 
				
			||||||
 | 
					# 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 \
 | 
					    curl \
 | 
				
			||||||
 | 
					    libmemcached-dev \
 | 
				
			||||||
 | 
					    libpq-dev \
 | 
				
			||||||
    libjpeg-dev \
 | 
					    libjpeg-dev \
 | 
				
			||||||
    libpng12-dev \
 | 
					    libpng12-dev \
 | 
				
			||||||
    libfreetype6-dev \
 | 
					    libfreetype6-dev \
 | 
				
			||||||
    libssl-dev \
 | 
					    libssl-dev \
 | 
				
			||||||
    libmcrypt-dev \
 | 
					    libmcrypt-dev
 | 
				
			||||||
    --no-install-recommends \
 | 
					 | 
				
			||||||
    && rm -r /var/lib/apt/lists/*
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# install mcrypt library
 | 
					# Install the PHP mcrypt extention
 | 
				
			||||||
RUN docker-php-ext-install mcrypt
 | 
					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
 | 
					RUN pecl install mongodb
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# configure gd library
 | 
					# Install the xdebug extention
 | 
				
			||||||
RUN docker-php-ext-configure gd \
 | 
					RUN pecl install xdebug \
 | 
				
			||||||
    --enable-gd-native-ttf \
 | 
					    && docker-php-ext-enable xdebug
 | 
				
			||||||
    --with-jpeg-dir=/usr/lib \
 | 
					 | 
				
			||||||
    --with-freetype-dir=/usr/include/freetype2
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Install extensions using the helper script provided by the base image
 | 
					# Install the memcached extention
 | 
				
			||||||
RUN docker-php-ext-install \
 | 
					 | 
				
			||||||
    pdo_mysql \
 | 
					 | 
				
			||||||
    pdo_pgsql \
 | 
					 | 
				
			||||||
    gd
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Install Memcached for php 7
 | 
					 | 
				
			||||||
RUN curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/php7.tar.gz" \
 | 
					RUN curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/php7.tar.gz" \
 | 
				
			||||||
    && mkdir -p memcached \
 | 
					    && mkdir -p memcached \
 | 
				
			||||||
    && tar -C memcached -zxvf /tmp/memcached.tar.gz --strip 1 \
 | 
					    && 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 \
 | 
					    && rm /tmp/memcached.tar.gz \
 | 
				
			||||||
    && docker-php-ext-enable memcached
 | 
					    && 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
 | 
					RUN usermod -u 1000 www-data
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user