Docker image with PHP, extensions and PHP-FPM
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

80 lines
2.7 KiB

FROM php:7.0-fpm
# Get repository and install wget and vim
RUN apt-get update && apt-get install --no-install-recommends -y \
wget \
vim \
git \
unzip
# Add PostgreSQL repository
ADD build/pgdg.list /etc/apt/sources.list.d/
RUN wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \
apt-key add -
# Add Oracle Instantclient
COPY build/instantclient-*.zip /opt/oracle/
RUN unzip /opt/oracle/instantclient-basic-linux.x64-12.1.0.2.0.zip -d /opt/oracle \
&& unzip /opt/oracle/instantclient-sdk-linux.x64-12.1.0.2.0.zip -d /opt/oracle \
&& ln -s /opt/oracle/instantclient_12_1/libclntsh.so.12.1 /opt/oracle/instantclient_12_1/libclntsh.so \
&& ln -s /opt/oracle/instantclient_12_1/libclntshcore.so.12.1 /opt/oracle/instantclient_12_1/libclntshcore.so \
&& ln -s /opt/oracle/instantclient_12_1/libocci.so.12.1 /opt/oracle/instantclient_12_1/libocci.so \
&& rm -rf /opt/oracle/*.zip
# Install PHP extensions deps
RUN apt-get update && apt-get install --no-install-recommends -y \
postgresql-server-dev-9.5 \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng12-dev \
zlib1g-dev \
libicu-dev \
g++ \
unixodbc-dev \
libxml2-dev \
libaio-dev \
libmemcached-dev \
freetds-dev
# Clean repository
RUN apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# Install Composer
RUN curl -sS https://getcomposer.org/installer | php -- \
--install-dir=/usr/local/bin \
--filename=composer
# Install PHP extensions
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8 \
&& pecl install apcu \
&& git clone https://github.com/phpredis/phpredis /usr/src/php/ext/redis \
&& cd /usr/src/php/ext/redis && git checkout -b php7 origin/php7 \
&& docker-php-ext-configure redis \
&& git clone https://github.com/php-memcached-dev/php-memcached /usr/src/php/ext/memcached \
&& cd /usr/src/php/ext/memcached && git checkout -b php7 origin/php7 \
&& docker-php-ext-configure memcached \
&& docker-php-ext-configure pdo_dblib --with-libdir=/lib/x86_64-linux-gnu \
&& docker-php-ext-install \
iconv \
mbstring \
intl \
mcrypt \
gd \
pgsql \
mysqli \
pdo_pgsql \
pdo_mysql \
pdo_dblib \
soap \
sockets \
zip \
memcached \
redis \
pcntl \
&& docker-php-ext-enable \
oci8 \
apcu \
opcache