blackbirdchess-docker-dev/php-fpm/Dockerfile-70

113 lines
2.9 KiB
Plaintext
Raw Normal View History

2016-07-25 00:30:19 +02:00
#
#--------------------------------------------------------------------------
# Image Setup
#--------------------------------------------------------------------------
#
2016-07-25 00:30:19 +02:00
FROM php:7.0-fpm
2016-07-25 01:14:19 +02:00
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
ADD ./laravel.ini /usr/local/etc/php/conf.d
ADD ./laravel.pool.conf /usr/local/etc/php-fpm.d/
2016-07-25 00:30:19 +02:00
#
#--------------------------------------------------------------------------
# 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 update && \
apt-get install -y --no-install-recommends \
curl \
libmemcached-dev \
libz-dev \
libpq-dev \
libjpeg-dev \
libpng12-dev \
libfreetype6-dev \
libssl-dev \
libmcrypt-dev
2016-05-09 05:08:08 +02:00
2016-07-25 00:30:19 +02:00
# Install the PHP mcrypt extention
RUN docker-php-ext-install mcrypt
2016-07-25 00:30:19 +02:00
# Install the PHP pdo_mysql extention
RUN docker-php-ext-install pdo_mysql
2016-07-25 00:30:19 +02:00
# Install the PHP pdo_pgsql extention
RUN docker-php-ext-install pdo_pgsql
#####################################
# gd:
#####################################
2016-07-25 00:30:19 +02:00
# Install the PHP gd library
RUN docker-php-ext-install gd && \
docker-php-ext-configure gd \
2016-07-25 00:30:19 +02:00
--enable-gd-native-ttf \
--with-jpeg-dir=/usr/lib \
--with-freetype-dir=/usr/include/freetype2
#####################################
# MongoDB:
#####################################
ARG INSTALL_MONGO=true
ENV INSTALL_MONGO ${INSTALL_MONGO}
RUN if [ ${INSTALL_MONGO} = true ]; then \
# Install the mongodb extention
pecl install mongodb \
;fi
#####################################
# xDebug:
#####################################
ARG INSTALL_XDEBUG=true
ENV INSTALL_XDEBUG ${INSTALL_XDEBUG}
RUN if [ ${INSTALL_XDEBUG} = true ]; then \
# Install the xdebug extention
pecl install xdebug && \
docker-php-ext-enable xdebug \
;fi
2016-07-25 00:30:19 +02:00
#####################################
# Memcached:
#####################################
2016-07-25 00:30:19 +02:00
# Install the memcached extention
2016-05-12 03:28:44 +02:00
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 \
&& ( \
cd memcached \
&& phpize \
&& ./configure \
&& make -j$(nproc) \
&& make install \
) \
&& rm -r memcached \
&& rm /tmp/memcached.tar.gz \
&& docker-php-ext-enable memcached
2016-05-12 03:28:44 +02:00
2016-07-25 00:30:19 +02:00
#
#--------------------------------------------------------------------------
# Final Touch
#--------------------------------------------------------------------------
#
RUN rm -r /var/lib/apt/lists/*
RUN usermod -u 1000 www-data
WORKDIR /var/www/laravel
CMD ["php-fpm"]
EXPOSE 9000