Compare commits

..

24 Commits
0.37 ... 0.44

Author SHA1 Message Date
cytopia
6cbf1da423 Merge pull request #57 from devilbox/release-0.44
Add tool: jq
2018-11-02 00:45:10 +01:00
cytopia
9c7c504f88 fixup! Be verbose during npm install to debug any possible network outages 2018-11-01 21:23:34 +01:00
cytopia
ed13130025 Be verbose during npm install to debug any possible network outages 2018-11-01 20:33:41 +01:00
cytopia
e816c9a376 Install npm packages step-by-step due to download bug 2018-11-01 20:33:09 +01:00
cytopia
f5af07cede Add tool: jq 2018-11-01 17:55:00 +01:00
cytopia
cb29e8da6a Merge pull request #56 from devilbox/release-0.43
Fix build pipeline
2018-11-01 17:21:47 +01:00
cytopia
61224dfb12 Use newer pip version 2018-11-01 15:07:53 +01:00
cytopia
b257ffb972 Decrease image sizes 2018-11-01 13:55:27 +01:00
cytopia
10e114fdd2 Decrease image size of mods images 2018-11-01 12:48:46 +01:00
cytopia
6fb6a2f61c Fix swoole for PHP 7.3 2018-11-01 11:17:42 +01:00
cytopia
a9fc2a95a1 Fix drush9 installation 2018-11-01 09:53:23 +01:00
cytopia
dc2daccaaa Fix build pipeline 2018-10-31 23:12:46 +01:00
cytopia
d1d0bb1300 Merge pull request #55 from devilbox/release-0.42
Add tool: wkhtmltopdf
2018-09-30 20:25:10 +02:00
cytopia
4fa6943f8c Add tool: wkhtmltopdf 2018-09-30 12:45:26 +02:00
cytopia
8342c1e20f Merge pull request #54 from devilbox/release-0.41
Add drush7, drush8 and drush9 as separate binaries
2018-09-30 12:44:09 +02:00
cytopia
c991494dee Add drush7, drush8 and drush9 as separate binaries 2018-09-30 10:53:25 +02:00
cytopia
64f9fb510b Merge pull request #53 from devilbox/release-0.40
Release 0.40
2018-09-27 09:02:09 +02:00
cytopia
34d87faa62 Fix Makefile for docker pull targets 2018-09-26 15:22:06 +02:00
cytopia
49fb3c44dc Add Kafka PHP module 2018-09-26 15:21:43 +02:00
cytopia
7147549e97 Merge pull request #52 from devilbox/release-0.39
Adding tool: deployer
2018-09-13 17:35:43 +02:00
cytopia
78227bf2ee Disable deployer for PHP 5.2 and PHP 5.3 2018-09-13 10:51:07 +02:00
cytopia
5c1ae24dd7 Adding tool: deployer 2018-09-13 09:08:52 +02:00
cytopia
b57a7c1a24 Merge pull request #51 from devilbox/release-0.38
Add graphviz to all worker images
2018-09-12 08:40:15 +02:00
cytopia
c0bd7e32b8 Add graphviz 2018-09-11 23:40:47 +02:00
43 changed files with 4858 additions and 1469 deletions

View File

@@ -36,9 +36,8 @@ RUN set -x \
### Upgrade (install ps)
###
RUN set -x \
&& apt-get update \
&& apt-get upgrade -y \
&& apt-get install --no-install-recommends --no-install-suggests -y procps \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
&& rm -rf /var/lib/apt/lists/*
@@ -68,10 +67,20 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.2' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
###

View File

@@ -36,9 +36,8 @@ RUN set -x \
### Upgrade (install ps)
###
RUN set -x \
&& apt-get update \
&& apt-get upgrade -y \
&& apt-get install --no-install-recommends --no-install-suggests -y procps \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
&& rm -rf /var/lib/apt/lists/*
@@ -68,10 +67,20 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.3' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
###

View File

@@ -36,9 +36,8 @@ RUN set -x \
### Upgrade (install ps)
###
RUN set -x \
&& apt-get update \
&& apt-get upgrade -y \
&& apt-get install --no-install-recommends --no-install-suggests -y procps \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
&& rm -rf /var/lib/apt/lists/*
@@ -68,10 +67,20 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.4' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
###

View File

@@ -36,9 +36,8 @@ RUN set -x \
### Upgrade (install ps)
###
RUN set -x \
&& apt-get update \
&& apt-get upgrade -y \
&& apt-get install --no-install-recommends --no-install-suggests -y procps \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
&& rm -rf /var/lib/apt/lists/*
@@ -68,10 +67,20 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.5' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
###

View File

@@ -36,9 +36,8 @@ RUN set -x \
### Upgrade (install ps)
###
RUN set -x \
&& apt-get update \
&& apt-get upgrade -y \
&& apt-get install --no-install-recommends --no-install-suggests -y procps \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
&& rm -rf /var/lib/apt/lists/*
@@ -68,10 +67,20 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.6' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
###

View File

@@ -36,9 +36,8 @@ RUN set -x \
### Upgrade (install ps)
###
RUN set -x \
&& apt-get update \
&& apt-get upgrade -y \
&& apt-get install --no-install-recommends --no-install-suggests -y procps \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
&& rm -rf /var/lib/apt/lists/*
@@ -68,10 +67,20 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.0' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
###

View File

@@ -36,9 +36,8 @@ RUN set -x \
### Upgrade (install ps)
###
RUN set -x \
&& apt-get update \
&& apt-get upgrade -y \
&& apt-get install --no-install-recommends --no-install-suggests -y procps \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
&& rm -rf /var/lib/apt/lists/*
@@ -68,10 +67,20 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.1' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
###

View File

@@ -36,9 +36,8 @@ RUN set -x \
### Upgrade (install ps)
###
RUN set -x \
&& apt-get update \
&& apt-get upgrade -y \
&& apt-get install --no-install-recommends --no-install-suggests -y procps \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
&& rm -rf /var/lib/apt/lists/*
@@ -68,10 +67,20 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.2' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
###

View File

@@ -36,9 +36,8 @@ RUN set -x \
### Upgrade (install ps)
###
RUN set -x \
&& apt-get update \
&& apt-get upgrade -y \
&& apt-get install --no-install-recommends --no-install-suggests -y procps \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
&& rm -rf /var/lib/apt/lists/*
@@ -68,10 +67,20 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.3' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
###

View File

@@ -18,85 +18,61 @@ LABEL \
### Envs
###
ENV BUILD_DEPS \
librabbitmq-dev \
libbz2-dev \
libcurl4-openssl-dev \
libxml2-dev \
libenchant-dev \
libmagic-dev \
libssl-dev \
libpng-dev \
libjpeg-dev \
libxpm-dev \
libvpx-dev \
zlib1g-dev \
libfreetype6-dev \
libc-client-dev \
libkrb5-dev \
libcurl4-openssl-dev \
libfbclient2 \
libib-util \
firebird-dev \
libicu-dev \
libldap2-dev \
libsasl2-dev \
libmcrypt-dev \
zlib1g-dev \
zlib1g-dev \
libmemcached-dev \
libssl-dev \
libsasl2-dev \
freetds-dev \
libbz2-dev \
libc-client-dev \
libcurl4-openssl-dev \
libenchant-dev \
libfbclient2 \
libfreetype6-dev \
libib-util \
firebird-dev \
zlib1g-dev \
libicu-dev \
libjpeg-dev \
libkrb5-dev \
libldap2-dev \
libmagic-dev \
libmcrypt-dev \
libmemcached-dev \
libpng-dev \
libpq-dev \
libsqlite3-dev \
libpq-dev \
libssl-dev \
libpspell-dev \
librabbitmq-dev \
librecode-dev \
libmm-dev \
libxml2-dev \
libssl-dev \
libsasl2-dev \
libsnmp-dev \
snmp \
libxml2-dev \
libssl-dev \
libtidy-dev \
libvpx-dev \
libxml2-dev \
libxml2-dev \
libxml2-dev \
libxml2-dev \
libxml2-dev \
libxpm-dev \
libxslt-dev \
snmp \
zlib1g-dev \
ca-certificates \
git
ENV RUN_DEPS \
librabbitmq1 \
libenchant1c2a \
libpng12-0 \
libjpeg62-turbo \
libxpm4 \
libvpx1 \
libfreetype6 \
libaspell15 \
libc-client2007e \
libenchant1c2a \
libfbclient2 \
libfreetype6 \
libicu52 \
libjpeg62-turbo \
libmcrypt4 \
libmemcachedutil2 \
libmysqlclient18 \
libsybdb5 \
libfbclient2 \
libpng12-0 \
libpq5 \
libpq5 \
libaspell15 \
librabbitmq1 \
librecode0 \
snmp \
libsybdb5 \
libtidy-0.99-0 \
libvpx1 \
libxpm4 \
libxslt1.1 \
snmp \
ca-certificates
@@ -104,8 +80,9 @@ ENV RUN_DEPS \
### Install
###
RUN set -x \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
${BUILD_DEPS} \
\
\
@@ -119,23 +96,75 @@ RUN set -x \
&& rm -rf ioncube \
&& rm -rf ioncube.tar.gz \
\
\
&& rm -rf /usr/local/lib/php/test/ioncube || true \
&& rm -rf /usr/local/lib/php/doc/ioncube || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install amqp-1.4.0 \
&& docker-php-ext-enable amqp \
\
&& rm -rf /usr/local/lib/php/test/amqp || true \
&& rm -rf /usr/local/lib/php/doc/amqp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
\
&& rm -rf /usr/local/lib/php/test/bcmath || true \
&& rm -rf /usr/local/lib/php/doc/bcmath || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \
\
&& rm -rf /usr/local/lib/php/test/bz2 || true \
&& rm -rf /usr/local/lib/php/doc/bz2 || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ctype \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) curl \
\
&& rm -rf /usr/local/lib/php/test/calendar || true \
&& rm -rf /usr/local/lib/php/doc/calendar || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/ctype || true \
&& rm -rf /usr/local/lib/php/doc/ctype || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/curl || true \
&& rm -rf /usr/local/lib/php/doc/curl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
&& /usr/local/bin/docker-php-ext-configure dom --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dom \
\
&& rm -rf /usr/local/lib/php/test/dba || true \
&& rm -rf /usr/local/lib/php/doc/dba || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/dom || true \
&& rm -rf /usr/local/lib/php/doc/dom || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& echo "/usr" | pecl install enchant \
&& docker-php-ext-enable enchant \
\
&& rm -rf /usr/local/lib/php/test/enchant || true \
&& rm -rf /usr/local/lib/php/doc/enchant || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
\
&& rm -rf /usr/local/lib/php/test/exif || true \
&& rm -rf /usr/local/lib/php/doc/exif || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install fileinfo \
&& docker-php-ext-enable fileinfo \
\
&& rm -rf /usr/local/lib/php/test/fileinfo || true \
&& rm -rf /usr/local/lib/php/doc/fileinfo || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/filter || true \
&& rm -rf /usr/local/lib/php/doc/filter || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure ftp --with-openssl-dir \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ftp \
\
&& rm -rf /usr/local/lib/php/test/ftp || true \
&& rm -rf /usr/local/lib/php/doc/ftp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libjpeg.* /usr/lib/ && \
ln -s /usr/lib/x86_64-linux-gnu/libpng.* /usr/lib/ && \
ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ && \
@@ -144,107 +173,318 @@ ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype
\
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
\
&& rm -rf /usr/local/lib/php/test/gd || true \
&& rm -rf /usr/local/lib/php/doc/gd || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) hash \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) iconv \
&& pecl install igbinary \
\
&& rm -rf /usr/local/lib/php/test/gettext || true \
&& rm -rf /usr/local/lib/php/doc/gettext || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/hash || true \
&& rm -rf /usr/local/lib/php/doc/hash || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/iconv || true \
&& rm -rf /usr/local/lib/php/doc/iconv || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install igbinary-2.0.7 \
&& docker-php-ext-enable igbinary \
\
&& rm -rf /usr/local/lib/php/test/igbinary || true \
&& rm -rf /usr/local/lib/php/doc/igbinary || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure imap --with-kerberos --with-imap-ssl --with-imap \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
\
&& rm -rf /usr/local/lib/php/test/imap || true \
&& rm -rf /usr/local/lib/php/doc/imap || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
\
&& rm -rf /usr/local/lib/php/test/interbase || true \
&& rm -rf /usr/local/lib/php/doc/interbase || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install intl \
&& docker-php-ext-enable intl \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) json \
\
&& rm -rf /usr/local/lib/php/test/intl || true \
&& rm -rf /usr/local/lib/php/doc/intl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/json || true \
&& rm -rf /usr/local/lib/php/doc/json || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mbstring \
\
&& rm -rf /usr/local/lib/php/test/ldap || true \
&& rm -rf /usr/local/lib/php/doc/ldap || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/libxml || true \
&& rm -rf /usr/local/lib/php/doc/libxml || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/mbstring || true \
&& rm -rf /usr/local/lib/php/doc/mbstring || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
\
&& rm -rf /usr/local/lib/php/test/mcrypt || true \
&& rm -rf /usr/local/lib/php/doc/mcrypt || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install memcache \
&& docker-php-ext-enable memcache \
\
&& rm -rf /usr/local/lib/php/test/memcache || true \
&& rm -rf /usr/local/lib/php/doc/memcache || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install memcached-2.1.0 \
&& docker-php-ext-enable memcached \
\
&& rm -rf /usr/local/lib/php/test/memcached || true \
&& rm -rf /usr/local/lib/php/doc/memcached || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& yes | pecl install mongo-1.5.8 \
&& docker-php-ext-enable mongo \
\
&& rm -rf /usr/local/lib/php/test/mongo || true \
&& rm -rf /usr/local/lib/php/doc/mongo || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install msgpack-0.5.7 \
&& docker-php-ext-enable msgpack \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysql \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \
\
&& rm -rf /usr/local/lib/php/test/msgpack || true \
&& rm -rf /usr/local/lib/php/doc/msgpack || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/mysql || true \
&& rm -rf /usr/local/lib/php/doc/mysql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/mysqli || true \
&& rm -rf /usr/local/lib/php/doc/mysqli || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install zendopcache \
&& docker-php-ext-enable opcache \
\
&& rm -rf /usr/local/lib/php/test/opcache || true \
&& rm -rf /usr/local/lib/php/doc/opcache || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/openssl || true \
&& rm -rf /usr/local/lib/php/doc/openssl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo \
\
&& rm -rf /usr/local/lib/php/test/pcntl || true \
&& rm -rf /usr/local/lib/php/doc/pcntl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/pcre || true \
&& rm -rf /usr/local/lib/php/doc/pcre || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/pdo || true \
&& rm -rf /usr/local/lib/php/doc/pdo || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
\
&& rm -rf /usr/local/lib/php/test/pdo_dblib || true \
&& rm -rf /usr/local/lib/php/doc/pdo_dblib || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
\
&& rm -rf /usr/local/lib/php/test/pdo_firebird || true \
&& rm -rf /usr/local/lib/php/doc/pdo_firebird || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/pdo_mysql || true \
&& rm -rf /usr/local/lib/php/doc/pdo_mysql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_sqlite \
\
&& rm -rf /usr/local/lib/php/test/pdo_pgsql || true \
&& rm -rf /usr/local/lib/php/doc/pdo_pgsql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/pdo_sqlite || true \
&& rm -rf /usr/local/lib/php/doc/pdo_sqlite || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
\
&& rm -rf /usr/local/lib/php/test/pgsql || true \
&& rm -rf /usr/local/lib/php/doc/pgsql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install phar \
&& docker-php-ext-enable phar \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) posix \
\
&& rm -rf /usr/local/lib/php/test/phar || true \
&& rm -rf /usr/local/lib/php/doc/phar || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/posix || true \
&& rm -rf /usr/local/lib/php/doc/posix || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pspell \
\
&& rm -rf /usr/local/lib/php/test/pspell || true \
&& rm -rf /usr/local/lib/php/doc/pspell || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/readline || true \
&& rm -rf /usr/local/lib/php/doc/readline || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
\
&& rm -rf /usr/local/lib/php/test/recode || true \
&& rm -rf /usr/local/lib/php/doc/recode || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install redis-2.2.7 \
&& docker-php-ext-enable redis \
&& /usr/local/bin/docker-php-ext-configure session --with-mm \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) session \
\
&& rm -rf /usr/local/lib/php/test/redis || true \
&& rm -rf /usr/local/lib/php/doc/redis || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/session || true \
&& rm -rf /usr/local/lib/php/doc/session || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
&& /usr/local/bin/docker-php-ext-configure simplexml --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) simplexml \
\
&& rm -rf /usr/local/lib/php/test/shmop || true \
&& rm -rf /usr/local/lib/php/doc/shmop || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/simplexml || true \
&& rm -rf /usr/local/lib/php/doc/simplexml || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
\
&& rm -rf /usr/local/lib/php/test/snmp || true \
&& rm -rf /usr/local/lib/php/doc/snmp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/soap || true \
&& rm -rf /usr/local/lib/php/doc/soap || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
\
&& rm -rf /usr/local/lib/php/test/sockets || true \
&& rm -rf /usr/local/lib/php/doc/sockets || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvmsg \
\
&& rm -rf /usr/local/lib/php/test/sysvmsg || true \
&& rm -rf /usr/local/lib/php/doc/sysvmsg || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
\
&& rm -rf /usr/local/lib/php/test/sysvsem || true \
&& rm -rf /usr/local/lib/php/doc/sysvsem || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
\
&& rm -rf /usr/local/lib/php/test/sysvshm || true \
&& rm -rf /usr/local/lib/php/doc/sysvshm || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tokenizer \
\
&& rm -rf /usr/local/lib/php/test/tidy || true \
&& rm -rf /usr/local/lib/php/doc/tidy || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/tokenizer || true \
&& rm -rf /usr/local/lib/php/doc/tokenizer || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install uploadprogress \
&& docker-php-ext-enable uploadprogress \
\
&& rm -rf /usr/local/lib/php/test/uploadprogress || true \
&& rm -rf /usr/local/lib/php/doc/uploadprogress || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
\
&& rm -rf /usr/local/lib/php/test/wddx || true \
&& rm -rf /usr/local/lib/php/doc/wddx || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install xdebug-2.2.7 \
&& docker-php-ext-enable xdebug \
&& /usr/local/bin/docker-php-ext-configure xml --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xml \
&& /usr/local/bin/docker-php-ext-configure xmlreader --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlreader \
\
&& rm -rf /usr/local/lib/php/test/xdebug || true \
&& rm -rf /usr/local/lib/php/doc/xdebug || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/xml || true \
&& rm -rf /usr/local/lib/php/doc/xml || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/xmlreader || true \
&& rm -rf /usr/local/lib/php/doc/xmlreader || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \
&& /usr/local/bin/docker-php-ext-configure xmlwriter --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlwriter \
\
&& rm -rf /usr/local/lib/php/test/xmlrpc || true \
&& rm -rf /usr/local/lib/php/doc/xmlrpc || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/xmlwriter || true \
&& rm -rf /usr/local/lib/php/doc/xmlwriter || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
\
&& rm -rf /usr/local/lib/php/test/xsl || true \
&& rm -rf /usr/local/lib/php/doc/xsl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
\
&& rm -rf /usr/local/lib/php/test/zip || true \
&& rm -rf /usr/local/lib/php/doc/zip || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& rm -rf /tmp/* \
\
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
${BUILD_DEPS} \
\
\
&& apt-get install --no-install-recommends --no-install-suggests -y \
${RUN_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false ${BUILD_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests ${RUN_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
&& update-ca-certificates \
&& sh -c "find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true"
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find "$(php -r 'echo ini_get("extension_dir");')" -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
###
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.2' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
RUN set -x \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini \
\
&& php -m | grep -oiE '^amqp$' \
&& php-fpm -m | grep -oiE '^amqp$' \
&& php -m | grep -oiE '^bcmath$' \
@@ -267,6 +507,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^exif$' \
&& php -m | grep -oiE '^fileinfo$' \
&& php-fpm -m | grep -oiE '^fileinfo$' \
&& php -m | grep -oiE '^filter$' \
&& php-fpm -m | grep -oiE '^filter$' \
&& php -m | grep -oiE '^ftp$' \
&& php-fpm -m | grep -oiE '^ftp$' \
&& php -m | grep -oiE '^gd$' \
@@ -289,6 +531,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^json$' \
&& php -m | grep -oiE '^ldap$' \
&& php-fpm -m | grep -oiE '^ldap$' \
&& php -m | grep -oiE '^libxml$' \
&& php-fpm -m | grep -oiE '^libxml$' \
&& php -m | grep -oiE '^mbstring$' \
&& php-fpm -m | grep -oiE '^mbstring$' \
&& php -m | grep -oiE '^mcrypt$' \
@@ -307,8 +551,12 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^mysqli$' \
&& php -m | grep -oiE '^Zend Opcache$' \
&& php-fpm -m | grep -oiE '^Zend Opcache$' \
&& php -m | grep -oiE '^openssl$' \
&& php-fpm -m | grep -oiE '^openssl$' \
&& php -m | grep -oiE '^pcntl$' \
&& php-fpm -m | grep -oiE '^pcntl$' \
&& php -m | grep -oiE '^pcre$' \
&& php-fpm -m | grep -oiE '^pcre$' \
&& php -m | grep -oiE '^pdo$' \
&& php-fpm -m | grep -oiE '^pdo$' \
&& php -m | grep -oiE '^pdo_dblib$' \
@@ -329,6 +577,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^posix$' \
&& php -m | grep -oiE '^pspell$' \
&& php-fpm -m | grep -oiE '^pspell$' \
&& php -m | grep -oiE '^readline$' \
&& php-fpm -m | grep -oiE '^readline$' \
&& php -m | grep -oiE '^recode$' \
&& php-fpm -m | grep -oiE '^recode$' \
&& php -m | grep -oiE '^redis$' \

View File

@@ -18,92 +18,66 @@ LABEL \
### Envs
###
ENV BUILD_DEPS \
librabbitmq-dev \
firebird-dev \
freetds-dev \
libbz2-dev \
libc-client-dev \
libcurl4-openssl-dev \
libxml2-dev \
libenchant-dev \
libssl-dev \
libpng-dev \
libjpeg-dev \
libxpm-dev \
libvpx-dev \
zlib1g-dev \
libfbclient2 \
libfreetype6-dev \
libgmp-dev \
libmagickwand-dev \
libc-client-dev \
libkrb5-dev \
libcurl4-openssl-dev \
libfbclient2 \
libib-util \
firebird-dev \
libicu-dev \
libjpeg-dev \
libkrb5-dev \
libldap2-dev \
libsasl2-dev \
libmagickwand-dev \
libmcrypt-dev \
zlib1g-dev \
zlib1g-dev \
libmemcached-dev \
libssl-dev \
libsasl2-dev \
libssl-dev \
libsasl2-dev \
freetds-dev \
libfbclient2 \
libib-util \
firebird-dev \
zlib1g-dev \
libpq-dev \
libsqlite3-dev \
libpq-dev \
libssl-dev \
libpspell-dev \
librecode-dev \
libmm-dev \
libxml2-dev \
libssl-dev \
libsnmp-dev \
snmp \
libxml2-dev \
libnghttp2-dev \
libpng-dev \
libpq-dev \
libpspell-dev \
librabbitmq-dev \
librdkafka-dev \
libsasl2-dev \
libsnmp-dev \
libssl-dev \
libtidy-dev \
libvpx-dev \
libxml2-dev \
libxml2-dev \
libxml2-dev \
libxml2-dev \
libxml2-dev \
libxpm-dev \
libxslt-dev \
snmp \
zlib1g-dev \
ca-certificates \
git
ENV RUN_DEPS \
librabbitmq1 \
libenchant1c2a \
libpng12-0 \
libjpeg62-turbo \
libxpm4 \
libvpx1 \
libfreetype6 \
libmagickwand-6.q16-2 \
libaspell15 \
libc-client2007e \
libenchant1c2a \
libfbclient2 \
libfreetype6 \
libicu52 \
libjpeg62-turbo \
libmagickwand-6.q16-2 \
libmcrypt4 \
libmemcachedutil2 \
libmysqlclient18 \
libsybdb5 \
libfbclient2 \
libpq5 \
libpq5 \
libaspell15 \
librecode0 \
snmp \
libnghttp2-5 \
libpng12-0 \
libpq5 \
librabbitmq1 \
librdkafka1 \
librecode0 \
libsybdb5 \
libtidy-0.99-0 \
libvpx1 \
libxpm4 \
libxslt1.1 \
snmp \
ca-certificates
@@ -111,8 +85,9 @@ ENV RUN_DEPS \
### Install
###
RUN set -x \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
${BUILD_DEPS} \
\
\
@@ -126,139 +101,434 @@ RUN set -x \
&& rm -rf ioncube \
&& rm -rf ioncube.tar.gz \
\
\
&& rm -rf /usr/local/lib/php/test/ioncube || true \
&& rm -rf /usr/local/lib/php/doc/ioncube || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& echo "/usr" | pecl install amqp \
&& docker-php-ext-enable amqp \
\
&& rm -rf /usr/local/lib/php/test/amqp || true \
&& rm -rf /usr/local/lib/php/doc/amqp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install apcu-4.0.11 \
&& docker-php-ext-enable apcu \
\
&& rm -rf /usr/local/lib/php/test/apcu || true \
&& rm -rf /usr/local/lib/php/doc/apcu || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
\
&& rm -rf /usr/local/lib/php/test/bcmath || true \
&& rm -rf /usr/local/lib/php/doc/bcmath || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \
\
&& rm -rf /usr/local/lib/php/test/bz2 || true \
&& rm -rf /usr/local/lib/php/doc/bz2 || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ctype \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) curl \
\
&& rm -rf /usr/local/lib/php/test/calendar || true \
&& rm -rf /usr/local/lib/php/doc/calendar || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/ctype || true \
&& rm -rf /usr/local/lib/php/doc/ctype || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/curl || true \
&& rm -rf /usr/local/lib/php/doc/curl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
&& /usr/local/bin/docker-php-ext-configure dom --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dom \
\
&& rm -rf /usr/local/lib/php/test/dba || true \
&& rm -rf /usr/local/lib/php/doc/dba || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/dom || true \
&& rm -rf /usr/local/lib/php/doc/dom || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
\
&& rm -rf /usr/local/lib/php/test/enchant || true \
&& rm -rf /usr/local/lib/php/doc/enchant || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) fileinfo \
\
&& rm -rf /usr/local/lib/php/test/exif || true \
&& rm -rf /usr/local/lib/php/doc/exif || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/fileinfo || true \
&& rm -rf /usr/local/lib/php/doc/fileinfo || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/filter || true \
&& rm -rf /usr/local/lib/php/doc/filter || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure ftp --with-openssl-dir \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ftp \
\
&& rm -rf /usr/local/lib/php/test/ftp || true \
&& rm -rf /usr/local/lib/php/doc/ftp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ && mkdir /usr/include/freetype2/freetype && ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h \
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
\
&& rm -rf /usr/local/lib/php/test/gd || true \
&& rm -rf /usr/local/lib/php/doc/gd || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
\
&& rm -rf /usr/local/lib/php/test/gettext || true \
&& rm -rf /usr/local/lib/php/doc/gettext || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) hash \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) iconv \
\
&& rm -rf /usr/local/lib/php/test/gmp || true \
&& rm -rf /usr/local/lib/php/doc/gmp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/hash || true \
&& rm -rf /usr/local/lib/php/doc/hash || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/iconv || true \
&& rm -rf /usr/local/lib/php/doc/iconv || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install igbinary \
&& docker-php-ext-enable igbinary \
\
&& rm -rf /usr/local/lib/php/test/igbinary || true \
&& rm -rf /usr/local/lib/php/doc/igbinary || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install imagick-3.3.0 \
&& docker-php-ext-enable imagick \
\
&& rm -rf /usr/local/lib/php/test/imagick || true \
&& rm -rf /usr/local/lib/php/doc/imagick || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure imap --with-kerberos --with-imap-ssl --with-imap \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
\
&& rm -rf /usr/local/lib/php/test/imap || true \
&& rm -rf /usr/local/lib/php/doc/imap || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
\
&& rm -rf /usr/local/lib/php/test/interbase || true \
&& rm -rf /usr/local/lib/php/doc/interbase || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) json \
\
&& rm -rf /usr/local/lib/php/test/intl || true \
&& rm -rf /usr/local/lib/php/doc/intl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/json || true \
&& rm -rf /usr/local/lib/php/doc/json || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
\
&& rm -rf /usr/local/lib/php/test/ldap || true \
&& rm -rf /usr/local/lib/php/doc/ldap || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/libxml || true \
&& rm -rf /usr/local/lib/php/doc/libxml || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mbstring \
\
&& rm -rf /usr/local/lib/php/test/mbstring || true \
&& rm -rf /usr/local/lib/php/doc/mbstring || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
\
&& rm -rf /usr/local/lib/php/test/mcrypt || true \
&& rm -rf /usr/local/lib/php/doc/mcrypt || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install memcache \
&& docker-php-ext-enable memcache \
\
&& rm -rf /usr/local/lib/php/test/memcache || true \
&& rm -rf /usr/local/lib/php/doc/memcache || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install memcached-2.2.0 \
&& docker-php-ext-enable memcached \
\
&& rm -rf /usr/local/lib/php/test/memcached || true \
&& rm -rf /usr/local/lib/php/doc/memcached || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& yes | pecl install mongo \
&& docker-php-ext-enable mongo \
\
&& rm -rf /usr/local/lib/php/test/mongo || true \
&& rm -rf /usr/local/lib/php/doc/mongo || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install mongodb-0.6.3 \
&& docker-php-ext-enable mongodb \
\
&& rm -rf /usr/local/lib/php/test/mongodb || true \
&& rm -rf /usr/local/lib/php/doc/mongodb || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install msgpack-0.5.7 \
&& docker-php-ext-enable msgpack \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysql \
\
&& rm -rf /usr/local/lib/php/test/msgpack || true \
&& rm -rf /usr/local/lib/php/doc/msgpack || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/mysql || true \
&& rm -rf /usr/local/lib/php/doc/mysql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \
\
&& rm -rf /usr/local/lib/php/test/mysqli || true \
&& rm -rf /usr/local/lib/php/doc/mysqli || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/mysqlnd || true \
&& rm -rf /usr/local/lib/php/doc/mysqlnd || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install zendopcache \
&& docker-php-ext-enable opcache \
\
&& rm -rf /usr/local/lib/php/test/opcache || true \
&& rm -rf /usr/local/lib/php/doc/opcache || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/openssl || true \
&& rm -rf /usr/local/lib/php/doc/openssl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo \
\
&& rm -rf /usr/local/lib/php/test/pcntl || true \
&& rm -rf /usr/local/lib/php/doc/pcntl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/pcre || true \
&& rm -rf /usr/local/lib/php/doc/pcre || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/pdo || true \
&& rm -rf /usr/local/lib/php/doc/pdo || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
\
&& rm -rf /usr/local/lib/php/test/pdo_dblib || true \
&& rm -rf /usr/local/lib/php/doc/pdo_dblib || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
\
&& rm -rf /usr/local/lib/php/test/pdo_firebird || true \
&& rm -rf /usr/local/lib/php/doc/pdo_firebird || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
\
&& rm -rf /usr/local/lib/php/test/pdo_mysql || true \
&& rm -rf /usr/local/lib/php/doc/pdo_mysql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_sqlite \
\
&& rm -rf /usr/local/lib/php/test/pdo_pgsql || true \
&& rm -rf /usr/local/lib/php/doc/pdo_pgsql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/pdo_sqlite || true \
&& rm -rf /usr/local/lib/php/doc/pdo_sqlite || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
\
&& rm -rf /usr/local/lib/php/test/pgsql || true \
&& rm -rf /usr/local/lib/php/doc/pgsql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& git clone -v https://github.com/phalcon/cphalcon /tmp/phalcon \
&& cd /tmp/phalcon \
&& git checkout phalcon-v2.0.9 \
&& cd build && ./install \
&& docker-php-ext-enable phalcon \
&& cd / && rm -rf /tmp/phalcon \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) phar \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) posix \
\
&& rm -rf /usr/local/lib/php/test/phalcon || true \
&& rm -rf /usr/local/lib/php/doc/phalcon || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/phar || true \
&& rm -rf /usr/local/lib/php/doc/phar || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/posix || true \
&& rm -rf /usr/local/lib/php/doc/posix || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pspell \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
\
&& rm -rf /usr/local/lib/php/test/pspell || true \
&& rm -rf /usr/local/lib/php/doc/pspell || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/recode || true \
&& rm -rf /usr/local/lib/php/doc/recode || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install redis \
&& docker-php-ext-enable redis \
&& /usr/local/bin/docker-php-ext-configure session --with-mm \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) session \
\
&& rm -rf /usr/local/lib/php/test/redis || true \
&& rm -rf /usr/local/lib/php/doc/redis || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install rdkafka \
&& docker-php-ext-enable rdkafka \
\
&& rm -rf /usr/local/lib/php/test/rdkafka || true \
&& rm -rf /usr/local/lib/php/doc/rdkafka || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/session || true \
&& rm -rf /usr/local/lib/php/doc/session || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
&& /usr/local/bin/docker-php-ext-configure simplexml --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) simplexml \
\
&& rm -rf /usr/local/lib/php/test/shmop || true \
&& rm -rf /usr/local/lib/php/doc/shmop || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/simplexml || true \
&& rm -rf /usr/local/lib/php/doc/simplexml || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
\
&& rm -rf /usr/local/lib/php/test/snmp || true \
&& rm -rf /usr/local/lib/php/doc/snmp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
\
&& rm -rf /usr/local/lib/php/test/soap || true \
&& rm -rf /usr/local/lib/php/doc/soap || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
\
&& rm -rf /usr/local/lib/php/test/sockets || true \
&& rm -rf /usr/local/lib/php/doc/sockets || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install swoole-1.9.23 \
&& docker-php-ext-enable swoole \
\
&& rm -rf /usr/local/lib/php/test/swoole || true \
&& rm -rf /usr/local/lib/php/doc/swoole || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvmsg \
\
&& rm -rf /usr/local/lib/php/test/sysvmsg || true \
&& rm -rf /usr/local/lib/php/doc/sysvmsg || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
\
&& rm -rf /usr/local/lib/php/test/sysvsem || true \
&& rm -rf /usr/local/lib/php/doc/sysvsem || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
\
&& rm -rf /usr/local/lib/php/test/sysvshm || true \
&& rm -rf /usr/local/lib/php/doc/sysvshm || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tokenizer \
\
&& rm -rf /usr/local/lib/php/test/tidy || true \
&& rm -rf /usr/local/lib/php/doc/tidy || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/tokenizer || true \
&& rm -rf /usr/local/lib/php/doc/tokenizer || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install uploadprogress \
&& docker-php-ext-enable uploadprogress \
\
&& rm -rf /usr/local/lib/php/test/uploadprogress || true \
&& rm -rf /usr/local/lib/php/doc/uploadprogress || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
\
&& rm -rf /usr/local/lib/php/test/wddx || true \
&& rm -rf /usr/local/lib/php/doc/wddx || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install xdebug-2.2.7 \
&& docker-php-ext-enable xdebug \
&& /usr/local/bin/docker-php-ext-configure xml --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xml \
&& /usr/local/bin/docker-php-ext-configure xmlreader --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlreader \
\
&& rm -rf /usr/local/lib/php/test/xdebug || true \
&& rm -rf /usr/local/lib/php/doc/xdebug || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/xml || true \
&& rm -rf /usr/local/lib/php/doc/xml || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/xmlreader || true \
&& rm -rf /usr/local/lib/php/doc/xmlreader || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \
&& /usr/local/bin/docker-php-ext-configure xmlwriter --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlwriter \
\
&& rm -rf /usr/local/lib/php/test/xmlrpc || true \
&& rm -rf /usr/local/lib/php/doc/xmlrpc || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/xmlwriter || true \
&& rm -rf /usr/local/lib/php/doc/xmlwriter || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
\
&& rm -rf /usr/local/lib/php/test/xsl || true \
&& rm -rf /usr/local/lib/php/doc/xsl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
\
&& rm -rf /usr/local/lib/php/test/zip || true \
&& rm -rf /usr/local/lib/php/doc/zip || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& rm -rf /tmp/* \
\
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
${BUILD_DEPS} \
\
\
&& apt-get install --no-install-recommends --no-install-suggests -y \
${RUN_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false ${BUILD_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests ${RUN_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
&& update-ca-certificates \
&& sh -c "find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true"
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find "$(php -r 'echo ini_get("extension_dir");')" -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
###
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.3' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
RUN set -x \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini \
\
&& php -m | grep -oiE '^amqp$' \
&& php-fpm -m | grep -oiE '^amqp$' \
&& php -m | grep -oiE '^apcu$' \
@@ -283,6 +553,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^exif$' \
&& php -m | grep -oiE '^fileinfo$' \
&& php-fpm -m | grep -oiE '^fileinfo$' \
&& php -m | grep -oiE '^filter$' \
&& php-fpm -m | grep -oiE '^filter$' \
&& php -m | grep -oiE '^ftp$' \
&& php-fpm -m | grep -oiE '^ftp$' \
&& php -m | grep -oiE '^gd$' \
@@ -309,6 +581,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^json$' \
&& php -m | grep -oiE '^ldap$' \
&& php-fpm -m | grep -oiE '^ldap$' \
&& php -m | grep -oiE '^libxml$' \
&& php-fpm -m | grep -oiE '^libxml$' \
&& php -m | grep -oiE '^mbstring$' \
&& php-fpm -m | grep -oiE '^mbstring$' \
&& php -m | grep -oiE '^mcrypt$' \
@@ -327,10 +601,16 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^mysql$' \
&& php -m | grep -oiE '^mysqli$' \
&& php-fpm -m | grep -oiE '^mysqli$' \
&& php -m | grep -oiE '^mysqlnd$' \
&& php-fpm -m | grep -oiE '^mysqlnd$' \
&& php -m | grep -oiE '^Zend Opcache$' \
&& php-fpm -m | grep -oiE '^Zend Opcache$' \
&& php -m | grep -oiE '^openssl$' \
&& php-fpm -m | grep -oiE '^openssl$' \
&& php -m | grep -oiE '^pcntl$' \
&& php-fpm -m | grep -oiE '^pcntl$' \
&& php -m | grep -oiE '^pcre$' \
&& php-fpm -m | grep -oiE '^pcre$' \
&& php -m | grep -oiE '^pdo$' \
&& php-fpm -m | grep -oiE '^pdo$' \
&& php -m | grep -oiE '^pdo_dblib$' \
@@ -357,6 +637,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^recode$' \
&& php -m | grep -oiE '^redis$' \
&& php-fpm -m | grep -oiE '^redis$' \
&& php -m | grep -oiE '^rdkafka$' \
&& php-fpm -m | grep -oiE '^rdkafka$' \
&& php -m | grep -oiE '^session$' \
&& php-fpm -m | grep -oiE '^session$' \
&& php -m | grep -oiE '^shmop$' \

View File

@@ -18,92 +18,66 @@ LABEL \
### Envs
###
ENV BUILD_DEPS \
librabbitmq-dev \
firebird-dev \
freetds-dev \
libbz2-dev \
libc-client-dev \
libcurl4-openssl-dev \
libxml2-dev \
libenchant-dev \
libssl-dev \
libpng-dev \
libjpeg-dev \
libxpm-dev \
libvpx-dev \
zlib1g-dev \
libfbclient2 \
libfreetype6-dev \
libgmp-dev \
libmagickwand-dev \
libc-client-dev \
libkrb5-dev \
libcurl4-openssl-dev \
libfbclient2 \
libib-util \
firebird-dev \
libicu-dev \
libjpeg-dev \
libkrb5-dev \
libldap2-dev \
libsasl2-dev \
libmagickwand-dev \
libmcrypt-dev \
zlib1g-dev \
zlib1g-dev \
libmemcached-dev \
libssl-dev \
libsasl2-dev \
libssl-dev \
libsasl2-dev \
freetds-dev \
libfbclient2 \
libib-util \
firebird-dev \
zlib1g-dev \
libpq-dev \
libsqlite3-dev \
libpq-dev \
libssl-dev \
libpspell-dev \
librecode-dev \
libmm-dev \
libxml2-dev \
libssl-dev \
libsnmp-dev \
snmp \
libxml2-dev \
libnghttp2-dev \
libpng-dev \
libpq-dev \
libpspell-dev \
librabbitmq-dev \
librdkafka-dev \
libsasl2-dev \
libsnmp-dev \
libssl-dev \
libtidy-dev \
libvpx-dev \
libxml2-dev \
libxml2-dev \
libxml2-dev \
libxml2-dev \
libxml2-dev \
libxpm-dev \
libxslt-dev \
snmp \
zlib1g-dev \
ca-certificates \
git
ENV RUN_DEPS \
librabbitmq1 \
libenchant1c2a \
libpng12-0 \
libjpeg62-turbo \
libxpm4 \
libvpx1 \
libfreetype6 \
libmagickwand-6.q16-2 \
libaspell15 \
libc-client2007e \
libenchant1c2a \
libfbclient2 \
libfreetype6 \
libicu52 \
libjpeg62-turbo \
libmagickwand-6.q16-2 \
libmcrypt4 \
libmemcachedutil2 \
libmysqlclient18 \
libsybdb5 \
libfbclient2 \
libpq5 \
libpq5 \
libaspell15 \
librecode0 \
snmp \
libnghttp2-5 \
libpng12-0 \
libpq5 \
librabbitmq1 \
librdkafka1 \
librecode0 \
libsybdb5 \
libtidy-0.99-0 \
libvpx1 \
libxpm4 \
libxslt1.1 \
snmp \
ca-certificates
@@ -111,8 +85,9 @@ ENV RUN_DEPS \
### Install
###
RUN set -x \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
${BUILD_DEPS} \
\
\
@@ -126,139 +101,439 @@ RUN set -x \
&& rm -rf ioncube \
&& rm -rf ioncube.tar.gz \
\
\
&& rm -rf /usr/local/lib/php/test/ioncube || true \
&& rm -rf /usr/local/lib/php/doc/ioncube || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& echo "/usr" | pecl install amqp \
&& docker-php-ext-enable amqp \
\
&& rm -rf /usr/local/lib/php/test/amqp || true \
&& rm -rf /usr/local/lib/php/doc/amqp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install apcu-4.0.11 \
&& docker-php-ext-enable apcu \
\
&& rm -rf /usr/local/lib/php/test/apcu || true \
&& rm -rf /usr/local/lib/php/doc/apcu || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install bcmath \
\
&& rm -rf /usr/local/lib/php/test/bcmath || true \
&& rm -rf /usr/local/lib/php/doc/bcmath || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install bz2 \
\
&& rm -rf /usr/local/lib/php/test/bz2 || true \
&& rm -rf /usr/local/lib/php/doc/bz2 || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install calendar \
&& /usr/local/bin/docker-php-ext-install ctype \
&& /usr/local/bin/docker-php-ext-install curl \
\
&& rm -rf /usr/local/lib/php/test/calendar || true \
&& rm -rf /usr/local/lib/php/doc/calendar || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/ctype || true \
&& rm -rf /usr/local/lib/php/doc/ctype || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/curl || true \
&& rm -rf /usr/local/lib/php/doc/curl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install dba \
&& /usr/local/bin/docker-php-ext-configure dom --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install dom \
\
&& rm -rf /usr/local/lib/php/test/dba || true \
&& rm -rf /usr/local/lib/php/doc/dba || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/dom || true \
&& rm -rf /usr/local/lib/php/doc/dom || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install enchant \
\
&& rm -rf /usr/local/lib/php/test/enchant || true \
&& rm -rf /usr/local/lib/php/doc/enchant || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install exif \
&& /usr/local/bin/docker-php-ext-install fileinfo \
\
&& rm -rf /usr/local/lib/php/test/exif || true \
&& rm -rf /usr/local/lib/php/doc/exif || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/fileinfo || true \
&& rm -rf /usr/local/lib/php/doc/fileinfo || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/filter || true \
&& rm -rf /usr/local/lib/php/doc/filter || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure ftp --with-openssl-dir \
&& /usr/local/bin/docker-php-ext-install ftp \
\
&& rm -rf /usr/local/lib/php/test/ftp || true \
&& rm -rf /usr/local/lib/php/doc/ftp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
&& /usr/local/bin/docker-php-ext-install gd \
\
&& rm -rf /usr/local/lib/php/test/gd || true \
&& rm -rf /usr/local/lib/php/doc/gd || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install gettext \
\
&& rm -rf /usr/local/lib/php/test/gettext || true \
&& rm -rf /usr/local/lib/php/doc/gettext || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
&& /usr/local/bin/docker-php-ext-install gmp \
&& /usr/local/bin/docker-php-ext-install hash \
&& /usr/local/bin/docker-php-ext-install iconv \
\
&& rm -rf /usr/local/lib/php/test/gmp || true \
&& rm -rf /usr/local/lib/php/doc/gmp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/hash || true \
&& rm -rf /usr/local/lib/php/doc/hash || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/iconv || true \
&& rm -rf /usr/local/lib/php/doc/iconv || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install igbinary \
&& docker-php-ext-enable igbinary \
\
&& rm -rf /usr/local/lib/php/test/igbinary || true \
&& rm -rf /usr/local/lib/php/doc/igbinary || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install imagick \
&& docker-php-ext-enable imagick \
\
&& rm -rf /usr/local/lib/php/test/imagick || true \
&& rm -rf /usr/local/lib/php/doc/imagick || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure imap --with-kerberos --with-imap-ssl --with-imap \
&& /usr/local/bin/docker-php-ext-install imap \
\
&& rm -rf /usr/local/lib/php/test/imap || true \
&& rm -rf /usr/local/lib/php/doc/imap || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install interbase \
\
&& rm -rf /usr/local/lib/php/test/interbase || true \
&& rm -rf /usr/local/lib/php/doc/interbase || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install intl \
&& /usr/local/bin/docker-php-ext-install json \
\
&& rm -rf /usr/local/lib/php/test/intl || true \
&& rm -rf /usr/local/lib/php/doc/intl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/json || true \
&& rm -rf /usr/local/lib/php/doc/json || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
&& /usr/local/bin/docker-php-ext-install ldap \
\
&& rm -rf /usr/local/lib/php/test/ldap || true \
&& rm -rf /usr/local/lib/php/doc/ldap || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/libxml || true \
&& rm -rf /usr/local/lib/php/doc/libxml || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install mbstring \
\
&& rm -rf /usr/local/lib/php/test/mbstring || true \
&& rm -rf /usr/local/lib/php/doc/mbstring || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install mcrypt \
\
&& rm -rf /usr/local/lib/php/test/mcrypt || true \
&& rm -rf /usr/local/lib/php/doc/mcrypt || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install memcache \
&& docker-php-ext-enable memcache \
\
&& rm -rf /usr/local/lib/php/test/memcache || true \
&& rm -rf /usr/local/lib/php/doc/memcache || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install memcached-2.2.0 \
&& docker-php-ext-enable memcached \
\
&& rm -rf /usr/local/lib/php/test/memcached || true \
&& rm -rf /usr/local/lib/php/doc/memcached || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& yes | pecl install mongo \
&& docker-php-ext-enable mongo \
\
&& rm -rf /usr/local/lib/php/test/mongo || true \
&& rm -rf /usr/local/lib/php/doc/mongo || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install mongodb-1.2.11 \
&& docker-php-ext-enable mongodb \
\
&& rm -rf /usr/local/lib/php/test/mongodb || true \
&& rm -rf /usr/local/lib/php/doc/mongodb || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install msgpack-0.5.7 \
&& docker-php-ext-enable msgpack \
\
&& rm -rf /usr/local/lib/php/test/msgpack || true \
&& rm -rf /usr/local/lib/php/doc/msgpack || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install mysql \
\
&& rm -rf /usr/local/lib/php/test/mysql || true \
&& rm -rf /usr/local/lib/php/doc/mysql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install mysqli \
\
&& rm -rf /usr/local/lib/php/test/mysqli || true \
&& rm -rf /usr/local/lib/php/doc/mysqli || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/mysqlnd || true \
&& rm -rf /usr/local/lib/php/doc/mysqlnd || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install zendopcache \
&& docker-php-ext-enable opcache \
\
&& rm -rf /usr/local/lib/php/test/opcache || true \
&& rm -rf /usr/local/lib/php/doc/opcache || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/openssl || true \
&& rm -rf /usr/local/lib/php/doc/openssl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install pcntl \
&& /usr/local/bin/docker-php-ext-install pdo \
\
&& rm -rf /usr/local/lib/php/test/pcntl || true \
&& rm -rf /usr/local/lib/php/doc/pcntl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/pcre || true \
&& rm -rf /usr/local/lib/php/doc/pcre || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/pdo || true \
&& rm -rf /usr/local/lib/php/doc/pdo || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-install pdo_dblib \
\
&& rm -rf /usr/local/lib/php/test/pdo_dblib || true \
&& rm -rf /usr/local/lib/php/doc/pdo_dblib || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install pdo_firebird \
\
&& rm -rf /usr/local/lib/php/test/pdo_firebird || true \
&& rm -rf /usr/local/lib/php/doc/pdo_firebird || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
&& /usr/local/bin/docker-php-ext-install pdo_mysql \
\
&& rm -rf /usr/local/lib/php/test/pdo_mysql || true \
&& rm -rf /usr/local/lib/php/doc/pdo_mysql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install pdo_pgsql \
&& /usr/local/bin/docker-php-ext-install pdo_sqlite \
\
&& rm -rf /usr/local/lib/php/test/pdo_pgsql || true \
&& rm -rf /usr/local/lib/php/doc/pdo_pgsql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/pdo_sqlite || true \
&& rm -rf /usr/local/lib/php/doc/pdo_sqlite || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install pgsql \
\
&& rm -rf /usr/local/lib/php/test/pgsql || true \
&& rm -rf /usr/local/lib/php/doc/pgsql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& git clone -v https://github.com/phalcon/cphalcon /tmp/phalcon \
&& cd /tmp/phalcon \
&& git checkout phalcon-v2.0.13 \
&& cd build && ./install \
&& docker-php-ext-enable phalcon \
&& cd / && rm -rf /tmp/phalcon \
&& /usr/local/bin/docker-php-ext-install phar \
&& /usr/local/bin/docker-php-ext-install posix \
\
&& rm -rf /usr/local/lib/php/test/phalcon || true \
&& rm -rf /usr/local/lib/php/doc/phalcon || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/phar || true \
&& rm -rf /usr/local/lib/php/doc/phar || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/posix || true \
&& rm -rf /usr/local/lib/php/doc/posix || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install pspell \
&& /usr/local/bin/docker-php-ext-install recode \
\
&& rm -rf /usr/local/lib/php/test/pspell || true \
&& rm -rf /usr/local/lib/php/doc/pspell || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/readline || true \
&& rm -rf /usr/local/lib/php/doc/readline || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/recode || true \
&& rm -rf /usr/local/lib/php/doc/recode || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install redis \
&& docker-php-ext-enable redis \
&& /usr/local/bin/docker-php-ext-configure session --with-mm \
&& /usr/local/bin/docker-php-ext-install session \
\
&& rm -rf /usr/local/lib/php/test/redis || true \
&& rm -rf /usr/local/lib/php/doc/redis || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install rdkafka \
&& docker-php-ext-enable rdkafka \
\
&& rm -rf /usr/local/lib/php/test/rdkafka || true \
&& rm -rf /usr/local/lib/php/doc/rdkafka || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/session || true \
&& rm -rf /usr/local/lib/php/doc/session || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install shmop \
&& /usr/local/bin/docker-php-ext-configure simplexml --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install simplexml \
\
&& rm -rf /usr/local/lib/php/test/shmop || true \
&& rm -rf /usr/local/lib/php/doc/shmop || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/simplexml || true \
&& rm -rf /usr/local/lib/php/doc/simplexml || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
&& /usr/local/bin/docker-php-ext-install snmp \
\
&& rm -rf /usr/local/lib/php/test/snmp || true \
&& rm -rf /usr/local/lib/php/doc/snmp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install soap \
\
&& rm -rf /usr/local/lib/php/test/soap || true \
&& rm -rf /usr/local/lib/php/doc/soap || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install sockets \
\
&& rm -rf /usr/local/lib/php/test/sockets || true \
&& rm -rf /usr/local/lib/php/doc/sockets || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install swoole-1.9.23 \
&& docker-php-ext-enable swoole \
\
&& rm -rf /usr/local/lib/php/test/swoole || true \
&& rm -rf /usr/local/lib/php/doc/swoole || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install sysvmsg \
\
&& rm -rf /usr/local/lib/php/test/sysvmsg || true \
&& rm -rf /usr/local/lib/php/doc/sysvmsg || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install sysvsem \
\
&& rm -rf /usr/local/lib/php/test/sysvsem || true \
&& rm -rf /usr/local/lib/php/doc/sysvsem || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install sysvshm \
\
&& rm -rf /usr/local/lib/php/test/sysvshm || true \
&& rm -rf /usr/local/lib/php/doc/sysvshm || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install tidy \
&& /usr/local/bin/docker-php-ext-install tokenizer \
\
&& rm -rf /usr/local/lib/php/test/tidy || true \
&& rm -rf /usr/local/lib/php/doc/tidy || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/tokenizer || true \
&& rm -rf /usr/local/lib/php/doc/tokenizer || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install uploadprogress \
&& docker-php-ext-enable uploadprogress \
\
&& rm -rf /usr/local/lib/php/test/uploadprogress || true \
&& rm -rf /usr/local/lib/php/doc/uploadprogress || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install wddx \
\
&& rm -rf /usr/local/lib/php/test/wddx || true \
&& rm -rf /usr/local/lib/php/doc/wddx || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install xdebug-2.4.1 \
&& docker-php-ext-enable xdebug \
&& /usr/local/bin/docker-php-ext-configure xml --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install xml \
&& /usr/local/bin/docker-php-ext-configure xmlreader --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install xmlreader \
\
&& rm -rf /usr/local/lib/php/test/xdebug || true \
&& rm -rf /usr/local/lib/php/doc/xdebug || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/xml || true \
&& rm -rf /usr/local/lib/php/doc/xml || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/xmlreader || true \
&& rm -rf /usr/local/lib/php/doc/xmlreader || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \
&& /usr/local/bin/docker-php-ext-install xmlrpc \
&& /usr/local/bin/docker-php-ext-configure xmlwriter --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install xmlwriter \
\
&& rm -rf /usr/local/lib/php/test/xmlrpc || true \
&& rm -rf /usr/local/lib/php/doc/xmlrpc || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/xmlwriter || true \
&& rm -rf /usr/local/lib/php/doc/xmlwriter || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install xsl \
\
&& rm -rf /usr/local/lib/php/test/xsl || true \
&& rm -rf /usr/local/lib/php/doc/xsl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr \
&& /usr/local/bin/docker-php-ext-install zip \
\
&& rm -rf /usr/local/lib/php/test/zip || true \
&& rm -rf /usr/local/lib/php/doc/zip || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& rm -rf /tmp/* \
\
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
${BUILD_DEPS} \
\
\
&& apt-get install --no-install-recommends --no-install-suggests -y \
${RUN_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false ${BUILD_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests ${RUN_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
&& update-ca-certificates \
&& sh -c "find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true"
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find "$(php -r 'echo ini_get("extension_dir");')" -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
###
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.4' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
RUN set -x \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini \
\
&& php -m | grep -oiE '^amqp$' \
&& php-fpm -m | grep -oiE '^amqp$' \
&& php -m | grep -oiE '^apcu$' \
@@ -283,6 +558,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^exif$' \
&& php -m | grep -oiE '^fileinfo$' \
&& php-fpm -m | grep -oiE '^fileinfo$' \
&& php -m | grep -oiE '^filter$' \
&& php-fpm -m | grep -oiE '^filter$' \
&& php -m | grep -oiE '^ftp$' \
&& php-fpm -m | grep -oiE '^ftp$' \
&& php -m | grep -oiE '^gd$' \
@@ -309,6 +586,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^json$' \
&& php -m | grep -oiE '^ldap$' \
&& php-fpm -m | grep -oiE '^ldap$' \
&& php -m | grep -oiE '^libxml$' \
&& php-fpm -m | grep -oiE '^libxml$' \
&& php -m | grep -oiE '^mbstring$' \
&& php-fpm -m | grep -oiE '^mbstring$' \
&& php -m | grep -oiE '^mcrypt$' \
@@ -327,10 +606,16 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^mysql$' \
&& php -m | grep -oiE '^mysqli$' \
&& php-fpm -m | grep -oiE '^mysqli$' \
&& php -m | grep -oiE '^mysqlnd$' \
&& php-fpm -m | grep -oiE '^mysqlnd$' \
&& php -m | grep -oiE '^Zend Opcache$' \
&& php-fpm -m | grep -oiE '^Zend Opcache$' \
&& php -m | grep -oiE '^openssl$' \
&& php-fpm -m | grep -oiE '^openssl$' \
&& php -m | grep -oiE '^pcntl$' \
&& php-fpm -m | grep -oiE '^pcntl$' \
&& php -m | grep -oiE '^pcre$' \
&& php-fpm -m | grep -oiE '^pcre$' \
&& php -m | grep -oiE '^pdo$' \
&& php-fpm -m | grep -oiE '^pdo$' \
&& php -m | grep -oiE '^pdo_dblib$' \
@@ -353,10 +638,14 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^posix$' \
&& php -m | grep -oiE '^pspell$' \
&& php-fpm -m | grep -oiE '^pspell$' \
&& php -m | grep -oiE '^readline$' \
&& php-fpm -m | grep -oiE '^readline$' \
&& php -m | grep -oiE '^recode$' \
&& php-fpm -m | grep -oiE '^recode$' \
&& php -m | grep -oiE '^redis$' \
&& php-fpm -m | grep -oiE '^redis$' \
&& php -m | grep -oiE '^rdkafka$' \
&& php-fpm -m | grep -oiE '^rdkafka$' \
&& php -m | grep -oiE '^session$' \
&& php-fpm -m | grep -oiE '^session$' \
&& php -m | grep -oiE '^shmop$' \

View File

@@ -18,94 +18,67 @@ LABEL \
### Envs
###
ENV BUILD_DEPS \
librabbitmq-dev \
firebird-dev \
freetds-dev \
libbz2-dev \
libc-client-dev \
libcurl4-openssl-dev \
libxml2-dev \
libenchant-dev \
libssl-dev \
libpng-dev \
libjpeg-dev \
libxpm-dev \
libvpx-dev \
zlib1g-dev \
libfbclient2 \
libfreetype6-dev \
libgmp-dev \
libmagickwand-dev \
libc-client-dev \
libkrb5-dev \
libcurl4-openssl-dev \
libfbclient2 \
libib-util \
firebird-dev \
libicu-dev \
libjpeg-dev \
libkrb5-dev \
libldap2-dev \
libsasl2-dev \
libmagickwand-dev \
libmcrypt-dev \
zlib1g-dev \
zlib1g-dev \
libmemcached-dev \
libssl-dev \
libsasl2-dev \
libssl-dev \
libsasl2-dev \
freetds-dev \
libfbclient2 \
libib-util \
firebird-dev \
zlib1g-dev \
libpq-dev \
libsqlite3-dev \
libpq-dev \
libssl-dev \
libpspell-dev \
libedit-dev \
libreadline-dev \
librecode-dev \
libmm-dev \
libxml2-dev \
libssl-dev \
libsnmp-dev \
snmp \
libxml2-dev \
libnghttp2-dev \
libpng-dev \
libpq-dev \
libpspell-dev \
librabbitmq-dev \
librdkafka-dev \
librecode-dev \
libsasl2-dev \
libsnmp-dev \
libssl-dev \
libtidy-dev \
libvpx-dev \
libxml2-dev \
libxml2-dev \
libxml2-dev \
libxml2-dev \
libxml2-dev \
libxpm-dev \
libxslt-dev \
snmp \
zlib1g-dev \
ca-certificates \
git
ENV RUN_DEPS \
librabbitmq1 \
libenchant1c2a \
libpng12-0 \
libjpeg62-turbo \
libxpm4 \
libvpx1 \
libfreetype6 \
libmagickwand-6.q16-2 \
libaspell15 \
libc-client2007e \
libenchant1c2a \
libfbclient2 \
libfreetype6 \
libicu52 \
libjpeg62-turbo \
libmagickwand-6.q16-2 \
libmcrypt4 \
libmemcachedutil2 \
libmysqlclient18 \
libsybdb5 \
libfbclient2 \
libpq5 \
libpq5 \
libaspell15 \
librecode0 \
snmp \
libnghttp2-5 \
libpng12-0 \
libpq5 \
librabbitmq1 \
librdkafka1 \
librecode0 \
libsybdb5 \
libtidy-0.99-0 \
libvpx1 \
libxpm4 \
libxslt1.1 \
snmp \
ca-certificates
@@ -113,8 +86,9 @@ ENV RUN_DEPS \
### Install
###
RUN set -x \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
${BUILD_DEPS} \
\
\
@@ -128,139 +102,436 @@ RUN set -x \
&& rm -rf ioncube \
&& rm -rf ioncube.tar.gz \
\
\
&& rm -rf /usr/local/lib/php/test/ioncube || true \
&& rm -rf /usr/local/lib/php/doc/ioncube || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& echo "/usr" | pecl install amqp \
&& docker-php-ext-enable amqp \
\
&& rm -rf /usr/local/lib/php/test/amqp || true \
&& rm -rf /usr/local/lib/php/doc/amqp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install apcu-4.0.11 \
&& docker-php-ext-enable apcu \
\
&& rm -rf /usr/local/lib/php/test/apcu || true \
&& rm -rf /usr/local/lib/php/doc/apcu || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
\
&& rm -rf /usr/local/lib/php/test/bcmath || true \
&& rm -rf /usr/local/lib/php/doc/bcmath || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \
\
&& rm -rf /usr/local/lib/php/test/bz2 || true \
&& rm -rf /usr/local/lib/php/doc/bz2 || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ctype \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) curl \
\
&& rm -rf /usr/local/lib/php/test/calendar || true \
&& rm -rf /usr/local/lib/php/doc/calendar || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/ctype || true \
&& rm -rf /usr/local/lib/php/doc/ctype || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/curl || true \
&& rm -rf /usr/local/lib/php/doc/curl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
&& /usr/local/bin/docker-php-ext-configure dom --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dom \
\
&& rm -rf /usr/local/lib/php/test/dba || true \
&& rm -rf /usr/local/lib/php/doc/dba || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/dom || true \
&& rm -rf /usr/local/lib/php/doc/dom || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
\
&& rm -rf /usr/local/lib/php/test/enchant || true \
&& rm -rf /usr/local/lib/php/doc/enchant || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) fileinfo \
&& /usr/local/bin/docker-php-ext-configure ftp --with-openssl-dir \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ftp \
\
&& rm -rf /usr/local/lib/php/test/exif || true \
&& rm -rf /usr/local/lib/php/doc/exif || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/fileinfo || true \
&& rm -rf /usr/local/lib/php/doc/fileinfo || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/filter || true \
&& rm -rf /usr/local/lib/php/doc/filter || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/ftp || true \
&& rm -rf /usr/local/lib/php/doc/ftp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
\
&& rm -rf /usr/local/lib/php/test/gd || true \
&& rm -rf /usr/local/lib/php/doc/gd || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
\
&& rm -rf /usr/local/lib/php/test/gettext || true \
&& rm -rf /usr/local/lib/php/doc/gettext || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) hash \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) iconv \
\
&& rm -rf /usr/local/lib/php/test/gmp || true \
&& rm -rf /usr/local/lib/php/doc/gmp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/hash || true \
&& rm -rf /usr/local/lib/php/doc/hash || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/iconv || true \
&& rm -rf /usr/local/lib/php/doc/iconv || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install igbinary \
&& docker-php-ext-enable igbinary \
\
&& rm -rf /usr/local/lib/php/test/igbinary || true \
&& rm -rf /usr/local/lib/php/doc/igbinary || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install imagick \
&& docker-php-ext-enable imagick \
\
&& rm -rf /usr/local/lib/php/test/imagick || true \
&& rm -rf /usr/local/lib/php/doc/imagick || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure imap --with-kerberos --with-imap-ssl --with-imap \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
\
&& rm -rf /usr/local/lib/php/test/imap || true \
&& rm -rf /usr/local/lib/php/doc/imap || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
\
&& rm -rf /usr/local/lib/php/test/interbase || true \
&& rm -rf /usr/local/lib/php/doc/interbase || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) json \
\
&& rm -rf /usr/local/lib/php/test/intl || true \
&& rm -rf /usr/local/lib/php/doc/intl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/json || true \
&& rm -rf /usr/local/lib/php/doc/json || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mbstring \
\
&& rm -rf /usr/local/lib/php/test/ldap || true \
&& rm -rf /usr/local/lib/php/doc/ldap || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/libxml || true \
&& rm -rf /usr/local/lib/php/doc/libxml || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/mbstring || true \
&& rm -rf /usr/local/lib/php/doc/mbstring || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
\
&& rm -rf /usr/local/lib/php/test/mcrypt || true \
&& rm -rf /usr/local/lib/php/doc/mcrypt || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install memcache \
&& docker-php-ext-enable memcache \
\
&& rm -rf /usr/local/lib/php/test/memcache || true \
&& rm -rf /usr/local/lib/php/doc/memcache || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install memcached-2.2.0 \
&& docker-php-ext-enable memcached \
\
&& rm -rf /usr/local/lib/php/test/memcached || true \
&& rm -rf /usr/local/lib/php/doc/memcached || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& yes | pecl install mongo \
&& docker-php-ext-enable mongo \
\
&& rm -rf /usr/local/lib/php/test/mongo || true \
&& rm -rf /usr/local/lib/php/doc/mongo || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install mongodb \
&& docker-php-ext-enable mongodb \
\
&& rm -rf /usr/local/lib/php/test/mongodb || true \
&& rm -rf /usr/local/lib/php/doc/mongodb || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install msgpack-0.5.7 \
&& docker-php-ext-enable msgpack \
\
&& rm -rf /usr/local/lib/php/test/msgpack || true \
&& rm -rf /usr/local/lib/php/doc/msgpack || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysql \
\
&& rm -rf /usr/local/lib/php/test/mysql || true \
&& rm -rf /usr/local/lib/php/doc/mysql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \
\
&& rm -rf /usr/local/lib/php/test/mysqli || true \
&& rm -rf /usr/local/lib/php/doc/mysqli || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/mysqlnd || true \
&& rm -rf /usr/local/lib/php/doc/mysqlnd || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \
\
&& rm -rf /usr/local/lib/php/test/opcache || true \
&& rm -rf /usr/local/lib/php/doc/opcache || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/openssl || true \
&& rm -rf /usr/local/lib/php/doc/openssl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo \
\
&& rm -rf /usr/local/lib/php/test/pcntl || true \
&& rm -rf /usr/local/lib/php/doc/pcntl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/pcre || true \
&& rm -rf /usr/local/lib/php/doc/pcre || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/pdo || true \
&& rm -rf /usr/local/lib/php/doc/pdo || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
\
&& rm -rf /usr/local/lib/php/test/pdo_dblib || true \
&& rm -rf /usr/local/lib/php/doc/pdo_dblib || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
\
&& rm -rf /usr/local/lib/php/test/pdo_firebird || true \
&& rm -rf /usr/local/lib/php/doc/pdo_firebird || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
\
&& rm -rf /usr/local/lib/php/test/pdo_mysql || true \
&& rm -rf /usr/local/lib/php/doc/pdo_mysql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_sqlite \
\
&& rm -rf /usr/local/lib/php/test/pdo_pgsql || true \
&& rm -rf /usr/local/lib/php/doc/pdo_pgsql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/pdo_sqlite || true \
&& rm -rf /usr/local/lib/php/doc/pdo_sqlite || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
\
&& rm -rf /usr/local/lib/php/test/pgsql || true \
&& rm -rf /usr/local/lib/php/doc/pgsql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& git clone -v https://github.com/phalcon/cphalcon /tmp/phalcon \
&& cd /tmp/phalcon \
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \
&& cd build && ./install \
&& docker-php-ext-enable phalcon \
&& cd / && rm -rf /tmp/phalcon \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) phar \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) posix \
\
&& rm -rf /usr/local/lib/php/test/phalcon || true \
&& rm -rf /usr/local/lib/php/doc/phalcon || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/phar || true \
&& rm -rf /usr/local/lib/php/doc/phar || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/posix || true \
&& rm -rf /usr/local/lib/php/doc/posix || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pspell \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) readline \
\
&& rm -rf /usr/local/lib/php/test/pspell || true \
&& rm -rf /usr/local/lib/php/doc/pspell || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/readline || true \
&& rm -rf /usr/local/lib/php/doc/readline || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
\
&& rm -rf /usr/local/lib/php/test/recode || true \
&& rm -rf /usr/local/lib/php/doc/recode || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install redis \
&& docker-php-ext-enable redis \
&& /usr/local/bin/docker-php-ext-configure session --with-mm \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) session \
\
&& rm -rf /usr/local/lib/php/test/redis || true \
&& rm -rf /usr/local/lib/php/doc/redis || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install rdkafka \
&& docker-php-ext-enable rdkafka \
\
&& rm -rf /usr/local/lib/php/test/rdkafka || true \
&& rm -rf /usr/local/lib/php/doc/rdkafka || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/session || true \
&& rm -rf /usr/local/lib/php/doc/session || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
&& /usr/local/bin/docker-php-ext-configure simplexml --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) simplexml \
\
&& rm -rf /usr/local/lib/php/test/shmop || true \
&& rm -rf /usr/local/lib/php/doc/shmop || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/simplexml || true \
&& rm -rf /usr/local/lib/php/doc/simplexml || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
\
&& rm -rf /usr/local/lib/php/test/snmp || true \
&& rm -rf /usr/local/lib/php/doc/snmp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
\
&& rm -rf /usr/local/lib/php/test/soap || true \
&& rm -rf /usr/local/lib/php/doc/soap || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
\
&& rm -rf /usr/local/lib/php/test/sockets || true \
&& rm -rf /usr/local/lib/php/doc/sockets || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install swoole-1.9.23 \
&& docker-php-ext-enable swoole \
\
&& rm -rf /usr/local/lib/php/test/swoole || true \
&& rm -rf /usr/local/lib/php/doc/swoole || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvmsg \
\
&& rm -rf /usr/local/lib/php/test/sysvmsg || true \
&& rm -rf /usr/local/lib/php/doc/sysvmsg || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
\
&& rm -rf /usr/local/lib/php/test/sysvsem || true \
&& rm -rf /usr/local/lib/php/doc/sysvsem || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
\
&& rm -rf /usr/local/lib/php/test/sysvshm || true \
&& rm -rf /usr/local/lib/php/doc/sysvshm || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tokenizer \
\
&& rm -rf /usr/local/lib/php/test/tidy || true \
&& rm -rf /usr/local/lib/php/doc/tidy || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/tokenizer || true \
&& rm -rf /usr/local/lib/php/doc/tokenizer || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install uploadprogress \
&& docker-php-ext-enable uploadprogress \
\
&& rm -rf /usr/local/lib/php/test/uploadprogress || true \
&& rm -rf /usr/local/lib/php/doc/uploadprogress || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
\
&& rm -rf /usr/local/lib/php/test/wddx || true \
&& rm -rf /usr/local/lib/php/doc/wddx || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install xdebug-2.4.1 \
&& docker-php-ext-enable xdebug \
&& /usr/local/bin/docker-php-ext-configure xml --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xml \
&& /usr/local/bin/docker-php-ext-configure xmlreader --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlreader \
\
&& rm -rf /usr/local/lib/php/test/xdebug || true \
&& rm -rf /usr/local/lib/php/doc/xdebug || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/xml || true \
&& rm -rf /usr/local/lib/php/doc/xml || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/xmlreader || true \
&& rm -rf /usr/local/lib/php/doc/xmlreader || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \
&& /usr/local/bin/docker-php-ext-configure xmlwriter --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlwriter \
\
&& rm -rf /usr/local/lib/php/test/xmlrpc || true \
&& rm -rf /usr/local/lib/php/doc/xmlrpc || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/xmlwriter || true \
&& rm -rf /usr/local/lib/php/doc/xmlwriter || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
\
&& rm -rf /usr/local/lib/php/test/xsl || true \
&& rm -rf /usr/local/lib/php/doc/xsl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
\
&& rm -rf /usr/local/lib/php/test/zip || true \
&& rm -rf /usr/local/lib/php/doc/zip || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& rm -rf /tmp/* \
\
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
${BUILD_DEPS} \
\
\
&& apt-get install --no-install-recommends --no-install-suggests -y \
${RUN_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false ${BUILD_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests ${RUN_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
&& update-ca-certificates \
&& sh -c "find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true"
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find "$(php -r 'echo ini_get("extension_dir");')" -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
###
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.5' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
RUN set -x \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini \
\
&& php -m | grep -oiE '^amqp$' \
&& php-fpm -m | grep -oiE '^amqp$' \
&& php -m | grep -oiE '^apcu$' \
@@ -285,6 +556,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^exif$' \
&& php -m | grep -oiE '^fileinfo$' \
&& php-fpm -m | grep -oiE '^fileinfo$' \
&& php -m | grep -oiE '^filter$' \
&& php-fpm -m | grep -oiE '^filter$' \
&& php -m | grep -oiE '^ftp$' \
&& php-fpm -m | grep -oiE '^ftp$' \
&& php -m | grep -oiE '^gd$' \
@@ -311,6 +584,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^json$' \
&& php -m | grep -oiE '^ldap$' \
&& php-fpm -m | grep -oiE '^ldap$' \
&& php -m | grep -oiE '^libxml$' \
&& php-fpm -m | grep -oiE '^libxml$' \
&& php -m | grep -oiE '^mbstring$' \
&& php-fpm -m | grep -oiE '^mbstring$' \
&& php -m | grep -oiE '^mcrypt$' \
@@ -329,10 +604,16 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^mysql$' \
&& php -m | grep -oiE '^mysqli$' \
&& php-fpm -m | grep -oiE '^mysqli$' \
&& php -m | grep -oiE '^mysqlnd$' \
&& php-fpm -m | grep -oiE '^mysqlnd$' \
&& php -m | grep -oiE '^Zend Opcache$' \
&& php-fpm -m | grep -oiE '^Zend Opcache$' \
&& php -m | grep -oiE '^openssl$' \
&& php-fpm -m | grep -oiE '^openssl$' \
&& php -m | grep -oiE '^pcntl$' \
&& php-fpm -m | grep -oiE '^pcntl$' \
&& php -m | grep -oiE '^pcre$' \
&& php-fpm -m | grep -oiE '^pcre$' \
&& php -m | grep -oiE '^pdo$' \
&& php-fpm -m | grep -oiE '^pdo$' \
&& php -m | grep -oiE '^pdo_dblib$' \
@@ -361,6 +642,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^recode$' \
&& php -m | grep -oiE '^redis$' \
&& php-fpm -m | grep -oiE '^redis$' \
&& php -m | grep -oiE '^rdkafka$' \
&& php-fpm -m | grep -oiE '^rdkafka$' \
&& php -m | grep -oiE '^session$' \
&& php-fpm -m | grep -oiE '^session$' \
&& php -m | grep -oiE '^shmop$' \

View File

@@ -18,97 +18,71 @@ LABEL \
### Envs
###
ENV BUILD_DEPS \
librabbitmq-dev \
libbz2-dev \
libcurl4-openssl-dev \
libxml2-dev \
libenchant-dev \
libssl-dev \
libpng-dev \
libjpeg-dev \
libxpm-dev \
libvpx-dev \
zlib1g-dev \
libfreetype6-dev \
libwebp-dev \
libgmp-dev \
libmagickwand-dev \
libc-client-dev \
libkrb5-dev \
libcurl4-openssl-dev \
libfbclient2 \
libib-util \
firebird-dev \
libicu-dev \
libldap2-dev \
libsasl2-dev \
libmcrypt-dev \
zlib1g-dev \
zlib1g-dev \
libmemcached-dev \
libssl-dev \
libsasl2-dev \
libssl-dev \
libsasl2-dev \
freetds-dev \
libbz2-dev \
libc-client-dev \
libcurl4-openssl-dev \
libenchant-dev \
libfbclient2 \
libfreetype6-dev \
libgmp-dev \
libib-util \
firebird-dev \
zlib1g-dev \
libpq-dev \
libsqlite3-dev \
libicu-dev \
libjpeg-dev \
libkrb5-dev \
libldap2-dev \
libmagickwand-dev \
libmcrypt-dev \
libmemcached-dev \
libnghttp2-dev \
libpng-dev \
libpq-dev \
libpspell-dev \
libedit-dev \
libreadline-dev \
librabbitmq-dev \
librdkafka-dev \
librecode-dev \
libmm-dev \
libxml2-dev \
libssl-dev \
libsasl2-dev \
libsnmp-dev \
snmp \
libxml2-dev \
libnghttp2-dev \
libssl-dev \
libtidy-dev \
libvpx-dev \
libwebp-dev \
libxml2-dev \
libxml2-dev \
libxml2-dev \
libxml2-dev \
libxml2-dev \
libxpm-dev \
libxslt-dev \
zlib1g-dev \
libzip-dev \
snmp \
zlib1g-dev \
ca-certificates \
git
ENV RUN_DEPS \
librabbitmq4 \
libenchant1c2a \
libpng16-16 \
libjpeg62-turbo \
libxpm4 \
libvpx4 \
libfreetype6 \
libwebp6 \
libmagickwand-6.q16-3 \
libaspell15 \
libc-client2007e \
libenchant1c2a \
libfbclient2 \
libfreetype6 \
libicu57 \
libjpeg62-turbo \
libmagickwand-6.q16-3 \
libmariadbclient18 \
libmcrypt4 \
libmemcachedutil2 \
libmariadbclient18 \
libsybdb5 \
libfbclient2 \
libpq5 \
libpq5 \
libaspell15 \
librecode0 \
snmp \
libnghttp2-14 \
libpng16-16 \
libpq5 \
librabbitmq4 \
librdkafka1 \
librecode0 \
libsybdb5 \
libtidy5 \
libvpx4 \
libwebp6 \
libxpm4 \
libxslt1.1 \
libzip4 \
snmp \
ca-certificates
@@ -116,8 +90,9 @@ ENV RUN_DEPS \
### Install
###
RUN set -x \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
${BUILD_DEPS} \
\
\
@@ -131,138 +106,432 @@ RUN set -x \
&& rm -rf ioncube \
&& rm -rf ioncube.tar.gz \
\
\
&& rm -rf /usr/local/lib/php/test/ioncube || true \
&& rm -rf /usr/local/lib/php/doc/ioncube || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& echo "/usr" | pecl install amqp \
&& docker-php-ext-enable amqp \
\
&& rm -rf /usr/local/lib/php/test/amqp || true \
&& rm -rf /usr/local/lib/php/doc/amqp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install apcu-4.0.11 \
&& docker-php-ext-enable apcu \
\
&& rm -rf /usr/local/lib/php/test/apcu || true \
&& rm -rf /usr/local/lib/php/doc/apcu || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
\
&& rm -rf /usr/local/lib/php/test/bcmath || true \
&& rm -rf /usr/local/lib/php/doc/bcmath || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \
\
&& rm -rf /usr/local/lib/php/test/bz2 || true \
&& rm -rf /usr/local/lib/php/doc/bz2 || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ctype \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) curl \
\
&& rm -rf /usr/local/lib/php/test/calendar || true \
&& rm -rf /usr/local/lib/php/doc/calendar || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/ctype || true \
&& rm -rf /usr/local/lib/php/doc/ctype || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/curl || true \
&& rm -rf /usr/local/lib/php/doc/curl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
&& /usr/local/bin/docker-php-ext-configure dom --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dom \
\
&& rm -rf /usr/local/lib/php/test/dba || true \
&& rm -rf /usr/local/lib/php/doc/dba || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/dom || true \
&& rm -rf /usr/local/lib/php/doc/dom || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
\
&& rm -rf /usr/local/lib/php/test/enchant || true \
&& rm -rf /usr/local/lib/php/doc/enchant || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) fileinfo \
&& /usr/local/bin/docker-php-ext-configure ftp --with-openssl-dir \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ftp \
\
&& rm -rf /usr/local/lib/php/test/exif || true \
&& rm -rf /usr/local/lib/php/doc/exif || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/fileinfo || true \
&& rm -rf /usr/local/lib/php/doc/fileinfo || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/filter || true \
&& rm -rf /usr/local/lib/php/doc/filter || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/ftp || true \
&& rm -rf /usr/local/lib/php/doc/ftp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
\
&& rm -rf /usr/local/lib/php/test/gd || true \
&& rm -rf /usr/local/lib/php/doc/gd || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
\
&& rm -rf /usr/local/lib/php/test/gettext || true \
&& rm -rf /usr/local/lib/php/doc/gettext || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) hash \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) iconv \
\
&& rm -rf /usr/local/lib/php/test/gmp || true \
&& rm -rf /usr/local/lib/php/doc/gmp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/hash || true \
&& rm -rf /usr/local/lib/php/doc/hash || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/iconv || true \
&& rm -rf /usr/local/lib/php/doc/iconv || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install igbinary \
&& docker-php-ext-enable igbinary \
\
&& rm -rf /usr/local/lib/php/test/igbinary || true \
&& rm -rf /usr/local/lib/php/doc/igbinary || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install imagick \
&& docker-php-ext-enable imagick \
\
&& rm -rf /usr/local/lib/php/test/imagick || true \
&& rm -rf /usr/local/lib/php/doc/imagick || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure imap --with-kerberos --with-imap-ssl --with-imap \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
\
&& rm -rf /usr/local/lib/php/test/imap || true \
&& rm -rf /usr/local/lib/php/doc/imap || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
\
&& rm -rf /usr/local/lib/php/test/interbase || true \
&& rm -rf /usr/local/lib/php/doc/interbase || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) json \
\
&& rm -rf /usr/local/lib/php/test/intl || true \
&& rm -rf /usr/local/lib/php/doc/intl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/json || true \
&& rm -rf /usr/local/lib/php/doc/json || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mbstring \
\
&& rm -rf /usr/local/lib/php/test/ldap || true \
&& rm -rf /usr/local/lib/php/doc/ldap || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/libxml || true \
&& rm -rf /usr/local/lib/php/doc/libxml || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/mbstring || true \
&& rm -rf /usr/local/lib/php/doc/mbstring || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
\
&& rm -rf /usr/local/lib/php/test/mcrypt || true \
&& rm -rf /usr/local/lib/php/doc/mcrypt || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install memcache \
&& docker-php-ext-enable memcache \
\
&& rm -rf /usr/local/lib/php/test/memcache || true \
&& rm -rf /usr/local/lib/php/doc/memcache || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install memcached-2.2.0 \
&& docker-php-ext-enable memcached \
\
&& rm -rf /usr/local/lib/php/test/memcached || true \
&& rm -rf /usr/local/lib/php/doc/memcached || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& yes | pecl install mongo \
&& docker-php-ext-enable mongo \
\
&& rm -rf /usr/local/lib/php/test/mongo || true \
&& rm -rf /usr/local/lib/php/doc/mongo || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install mongodb \
&& docker-php-ext-enable mongodb \
\
&& rm -rf /usr/local/lib/php/test/mongodb || true \
&& rm -rf /usr/local/lib/php/doc/mongodb || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install msgpack-0.5.7 \
&& docker-php-ext-enable msgpack \
\
&& rm -rf /usr/local/lib/php/test/msgpack || true \
&& rm -rf /usr/local/lib/php/doc/msgpack || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysql \
\
&& rm -rf /usr/local/lib/php/test/mysql || true \
&& rm -rf /usr/local/lib/php/doc/mysql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \
\
&& rm -rf /usr/local/lib/php/test/mysqli || true \
&& rm -rf /usr/local/lib/php/doc/mysqli || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/mysqlnd || true \
&& rm -rf /usr/local/lib/php/doc/mysqlnd || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \
\
&& rm -rf /usr/local/lib/php/test/opcache || true \
&& rm -rf /usr/local/lib/php/doc/opcache || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/openssl || true \
&& rm -rf /usr/local/lib/php/doc/openssl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo \
\
&& rm -rf /usr/local/lib/php/test/pcntl || true \
&& rm -rf /usr/local/lib/php/doc/pcntl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/pcre || true \
&& rm -rf /usr/local/lib/php/doc/pcre || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/pdo || true \
&& rm -rf /usr/local/lib/php/doc/pdo || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
\
&& rm -rf /usr/local/lib/php/test/pdo_dblib || true \
&& rm -rf /usr/local/lib/php/doc/pdo_dblib || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
\
&& rm -rf /usr/local/lib/php/test/pdo_firebird || true \
&& rm -rf /usr/local/lib/php/doc/pdo_firebird || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
\
&& rm -rf /usr/local/lib/php/test/pdo_mysql || true \
&& rm -rf /usr/local/lib/php/doc/pdo_mysql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_sqlite \
\
&& rm -rf /usr/local/lib/php/test/pdo_pgsql || true \
&& rm -rf /usr/local/lib/php/doc/pdo_pgsql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/pdo_sqlite || true \
&& rm -rf /usr/local/lib/php/doc/pdo_sqlite || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
\
&& rm -rf /usr/local/lib/php/test/pgsql || true \
&& rm -rf /usr/local/lib/php/doc/pgsql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& git clone -v https://github.com/phalcon/cphalcon /tmp/phalcon \
&& cd /tmp/phalcon \
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \
&& cd build && ./install \
&& docker-php-ext-enable phalcon \
&& cd / && rm -rf /tmp/phalcon \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) posix \
\
&& rm -rf /usr/local/lib/php/test/phalcon || true \
&& rm -rf /usr/local/lib/php/doc/phalcon || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/posix || true \
&& rm -rf /usr/local/lib/php/doc/posix || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pspell \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) readline \
\
&& rm -rf /usr/local/lib/php/test/pspell || true \
&& rm -rf /usr/local/lib/php/doc/pspell || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/readline || true \
&& rm -rf /usr/local/lib/php/doc/readline || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
\
&& rm -rf /usr/local/lib/php/test/recode || true \
&& rm -rf /usr/local/lib/php/doc/recode || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install redis \
&& docker-php-ext-enable redis \
&& /usr/local/bin/docker-php-ext-configure session --with-mm \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) session \
\
&& rm -rf /usr/local/lib/php/test/redis || true \
&& rm -rf /usr/local/lib/php/doc/redis || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install rdkafka \
&& docker-php-ext-enable rdkafka \
\
&& rm -rf /usr/local/lib/php/test/rdkafka || true \
&& rm -rf /usr/local/lib/php/doc/rdkafka || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/session || true \
&& rm -rf /usr/local/lib/php/doc/session || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
&& /usr/local/bin/docker-php-ext-configure simplexml --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) simplexml \
\
&& rm -rf /usr/local/lib/php/test/shmop || true \
&& rm -rf /usr/local/lib/php/doc/shmop || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/simplexml || true \
&& rm -rf /usr/local/lib/php/doc/simplexml || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
\
&& rm -rf /usr/local/lib/php/test/snmp || true \
&& rm -rf /usr/local/lib/php/doc/snmp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
\
&& rm -rf /usr/local/lib/php/test/soap || true \
&& rm -rf /usr/local/lib/php/doc/soap || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
\
&& rm -rf /usr/local/lib/php/test/sockets || true \
&& rm -rf /usr/local/lib/php/doc/sockets || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install swoole-1.9.23 \
&& docker-php-ext-enable swoole \
\
&& rm -rf /usr/local/lib/php/test/swoole || true \
&& rm -rf /usr/local/lib/php/doc/swoole || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvmsg \
\
&& rm -rf /usr/local/lib/php/test/sysvmsg || true \
&& rm -rf /usr/local/lib/php/doc/sysvmsg || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
\
&& rm -rf /usr/local/lib/php/test/sysvsem || true \
&& rm -rf /usr/local/lib/php/doc/sysvsem || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
\
&& rm -rf /usr/local/lib/php/test/sysvshm || true \
&& rm -rf /usr/local/lib/php/doc/sysvshm || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tokenizer \
\
&& rm -rf /usr/local/lib/php/test/tidy || true \
&& rm -rf /usr/local/lib/php/doc/tidy || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/tokenizer || true \
&& rm -rf /usr/local/lib/php/doc/tokenizer || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install uploadprogress \
&& docker-php-ext-enable uploadprogress \
\
&& rm -rf /usr/local/lib/php/test/uploadprogress || true \
&& rm -rf /usr/local/lib/php/doc/uploadprogress || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
\
&& rm -rf /usr/local/lib/php/test/wddx || true \
&& rm -rf /usr/local/lib/php/doc/wddx || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install xdebug-2.4.1 \
&& docker-php-ext-enable xdebug \
&& /usr/local/bin/docker-php-ext-configure xml --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xml \
&& /usr/local/bin/docker-php-ext-configure xmlreader --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlreader \
\
&& rm -rf /usr/local/lib/php/test/xdebug || true \
&& rm -rf /usr/local/lib/php/doc/xdebug || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/xml || true \
&& rm -rf /usr/local/lib/php/doc/xml || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/xmlreader || true \
&& rm -rf /usr/local/lib/php/doc/xmlreader || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \
&& /usr/local/bin/docker-php-ext-configure xmlwriter --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlwriter \
\
&& rm -rf /usr/local/lib/php/test/xmlrpc || true \
&& rm -rf /usr/local/lib/php/doc/xmlrpc || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/xmlwriter || true \
&& rm -rf /usr/local/lib/php/doc/xmlwriter || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
\
&& rm -rf /usr/local/lib/php/test/xsl || true \
&& rm -rf /usr/local/lib/php/doc/xsl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
\
&& rm -rf /usr/local/lib/php/test/zip || true \
&& rm -rf /usr/local/lib/php/doc/zip || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& rm -rf /tmp/* \
\
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
${BUILD_DEPS} \
\
\
&& apt-get install --no-install-recommends --no-install-suggests -y \
${RUN_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false ${BUILD_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests ${RUN_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
&& update-ca-certificates \
&& sh -c "find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true"
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find "$(php -r 'echo ini_get("extension_dir");')" -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
###
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.6' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
RUN set -x \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini \
\
&& php -m | grep -oiE '^amqp$' \
&& php-fpm -m | grep -oiE '^amqp$' \
&& php -m | grep -oiE '^apcu$' \
@@ -287,6 +556,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^exif$' \
&& php -m | grep -oiE '^fileinfo$' \
&& php-fpm -m | grep -oiE '^fileinfo$' \
&& php -m | grep -oiE '^filter$' \
&& php-fpm -m | grep -oiE '^filter$' \
&& php -m | grep -oiE '^ftp$' \
&& php-fpm -m | grep -oiE '^ftp$' \
&& php -m | grep -oiE '^gd$' \
@@ -313,6 +584,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^json$' \
&& php -m | grep -oiE '^ldap$' \
&& php-fpm -m | grep -oiE '^ldap$' \
&& php -m | grep -oiE '^libxml$' \
&& php-fpm -m | grep -oiE '^libxml$' \
&& php -m | grep -oiE '^mbstring$' \
&& php-fpm -m | grep -oiE '^mbstring$' \
&& php -m | grep -oiE '^mcrypt$' \
@@ -331,10 +604,16 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^mysql$' \
&& php -m | grep -oiE '^mysqli$' \
&& php-fpm -m | grep -oiE '^mysqli$' \
&& php -m | grep -oiE '^mysqlnd$' \
&& php-fpm -m | grep -oiE '^mysqlnd$' \
&& php -m | grep -oiE '^Zend Opcache$' \
&& php-fpm -m | grep -oiE '^Zend Opcache$' \
&& php -m | grep -oiE '^openssl$' \
&& php-fpm -m | grep -oiE '^openssl$' \
&& php -m | grep -oiE '^pcntl$' \
&& php-fpm -m | grep -oiE '^pcntl$' \
&& php -m | grep -oiE '^pcre$' \
&& php-fpm -m | grep -oiE '^pcre$' \
&& php -m | grep -oiE '^pdo$' \
&& php-fpm -m | grep -oiE '^pdo$' \
&& php -m | grep -oiE '^pdo_dblib$' \
@@ -361,6 +640,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^recode$' \
&& php -m | grep -oiE '^redis$' \
&& php-fpm -m | grep -oiE '^redis$' \
&& php -m | grep -oiE '^rdkafka$' \
&& php-fpm -m | grep -oiE '^rdkafka$' \
&& php -m | grep -oiE '^session$' \
&& php-fpm -m | grep -oiE '^session$' \
&& php -m | grep -oiE '^shmop$' \

View File

@@ -18,94 +18,70 @@ LABEL \
### Envs
###
ENV BUILD_DEPS \
librabbitmq-dev \
libbz2-dev \
libcurl4-openssl-dev \
libxml2-dev \
libenchant-dev \
libssl-dev \
libpng-dev \
libjpeg-dev \
libxpm-dev \
libvpx-dev \
zlib1g-dev \
libfreetype6-dev \
libwebp-dev \
libgmp-dev \
libmagickwand-dev \
libc-client-dev \
libkrb5-dev \
libcurl4-openssl-dev \
libfbclient2 \
libib-util \
firebird-dev \
libicu-dev \
bison \
libldap2-dev \
libsasl2-dev \
libmcrypt-dev \
zlib1g-dev \
zlib1g-dev \
libmemcached-dev \
libssl-dev \
libsasl2-dev \
freetds-dev \
libbz2-dev \
libc-client-dev \
libcurl4-openssl-dev \
libenchant-dev \
libfbclient2 \
libfreetype6-dev \
libgmp-dev \
libib-util \
firebird-dev \
zlib1g-dev \
libpq-dev \
libsqlite3-dev \
libicu-dev \
libjpeg-dev \
libkrb5-dev \
libldap2-dev \
libmagickwand-dev \
libmcrypt-dev \
libmemcached-dev \
libnghttp2-dev \
libpng-dev \
libpq-dev \
libpspell-dev \
libedit-dev \
libreadline-dev \
librabbitmq-dev \
librdkafka-dev \
librecode-dev \
libmm-dev \
libxml2-dev \
libssl-dev \
libsasl2-dev \
libsnmp-dev \
snmp \
libxml2-dev \
libnghttp2-dev \
libssl-dev \
libtidy-dev \
libvpx-dev \
libwebp-dev \
libxml2-dev \
libxml2-dev \
libxml2-dev \
libxml2-dev \
libxpm-dev \
libxslt-dev \
zlib1g-dev \
libzip-dev \
snmp \
zlib1g-dev \
ca-certificates \
git
ENV RUN_DEPS \
librabbitmq4 \
libenchant1c2a \
libpng16-16 \
libjpeg62-turbo \
libxpm4 \
libvpx4 \
libfreetype6 \
libwebp6 \
libmagickwand-6.q16-3 \
libaspell15 \
libc-client2007e \
libenchant1c2a \
libfbclient2 \
libfreetype6 \
libicu57 \
libjpeg62-turbo \
libmagickwand-6.q16-3 \
libmcrypt4 \
libmemcachedutil2 \
libsybdb5 \
libfbclient2 \
libpq5 \
libpq5 \
libaspell15 \
librecode0 \
snmp \
libnghttp2-14 \
libpng16-16 \
libpq5 \
librabbitmq4 \
librdkafka1 \
librecode0 \
libsybdb5 \
libtidy5 \
libvpx4 \
libwebp6 \
libxpm4 \
libxslt1.1 \
libzip4 \
snmp \
ca-certificates
@@ -113,8 +89,9 @@ ENV RUN_DEPS \
### Install
###
RUN set -x \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
${BUILD_DEPS} \
\
\
@@ -128,46 +105,155 @@ RUN set -x \
&& rm -rf ioncube \
&& rm -rf ioncube.tar.gz \
\
\
&& rm -rf /usr/local/lib/php/test/ioncube || true \
&& rm -rf /usr/local/lib/php/doc/ioncube || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& echo "/usr" | pecl install amqp \
&& docker-php-ext-enable amqp \
\
&& rm -rf /usr/local/lib/php/test/amqp || true \
&& rm -rf /usr/local/lib/php/doc/amqp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install apcu \
&& docker-php-ext-enable apcu \
\
&& rm -rf /usr/local/lib/php/test/apcu || true \
&& rm -rf /usr/local/lib/php/doc/apcu || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
\
&& rm -rf /usr/local/lib/php/test/bcmath || true \
&& rm -rf /usr/local/lib/php/doc/bcmath || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \
\
&& rm -rf /usr/local/lib/php/test/bz2 || true \
&& rm -rf /usr/local/lib/php/doc/bz2 || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ctype \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) curl \
\
&& rm -rf /usr/local/lib/php/test/calendar || true \
&& rm -rf /usr/local/lib/php/doc/calendar || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/ctype || true \
&& rm -rf /usr/local/lib/php/doc/ctype || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/curl || true \
&& rm -rf /usr/local/lib/php/doc/curl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
&& /usr/local/bin/docker-php-ext-configure dom --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dom \
\
&& rm -rf /usr/local/lib/php/test/dba || true \
&& rm -rf /usr/local/lib/php/doc/dba || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/dom || true \
&& rm -rf /usr/local/lib/php/doc/dom || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
\
&& rm -rf /usr/local/lib/php/test/enchant || true \
&& rm -rf /usr/local/lib/php/doc/enchant || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) fileinfo \
&& /usr/local/bin/docker-php-ext-configure ftp --with-openssl-dir \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ftp \
\
&& rm -rf /usr/local/lib/php/test/exif || true \
&& rm -rf /usr/local/lib/php/doc/exif || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/fileinfo || true \
&& rm -rf /usr/local/lib/php/doc/fileinfo || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/filter || true \
&& rm -rf /usr/local/lib/php/doc/filter || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/ftp || true \
&& rm -rf /usr/local/lib/php/doc/ftp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
\
&& rm -rf /usr/local/lib/php/test/gd || true \
&& rm -rf /usr/local/lib/php/doc/gd || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
\
&& rm -rf /usr/local/lib/php/test/gettext || true \
&& rm -rf /usr/local/lib/php/doc/gettext || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) hash \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) iconv \
\
&& rm -rf /usr/local/lib/php/test/gmp || true \
&& rm -rf /usr/local/lib/php/doc/gmp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/hash || true \
&& rm -rf /usr/local/lib/php/doc/hash || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/iconv || true \
&& rm -rf /usr/local/lib/php/doc/iconv || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install igbinary \
&& docker-php-ext-enable igbinary \
\
&& rm -rf /usr/local/lib/php/test/igbinary || true \
&& rm -rf /usr/local/lib/php/doc/igbinary || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install imagick \
&& docker-php-ext-enable imagick \
\
&& rm -rf /usr/local/lib/php/test/imagick || true \
&& rm -rf /usr/local/lib/php/doc/imagick || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure imap --with-kerberos --with-imap-ssl --with-imap \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
\
&& rm -rf /usr/local/lib/php/test/imap || true \
&& rm -rf /usr/local/lib/php/doc/imap || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
\
&& rm -rf /usr/local/lib/php/test/interbase || true \
&& rm -rf /usr/local/lib/php/doc/interbase || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) json \
\
&& rm -rf /usr/local/lib/php/test/intl || true \
&& rm -rf /usr/local/lib/php/doc/intl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/json || true \
&& rm -rf /usr/local/lib/php/doc/json || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mbstring \
\
&& rm -rf /usr/local/lib/php/test/ldap || true \
&& rm -rf /usr/local/lib/php/doc/ldap || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/libxml || true \
&& rm -rf /usr/local/lib/php/doc/libxml || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/mbstring || true \
&& rm -rf /usr/local/lib/php/doc/mbstring || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
\
&& rm -rf /usr/local/lib/php/test/mcrypt || true \
&& rm -rf /usr/local/lib/php/doc/mcrypt || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& git clone -v https://github.com/websupport-sk/pecl-memcache /tmp/memcache \
&& cd /tmp/memcache \
&& phpize \
@@ -175,53 +261,190 @@ RUN set -x \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
&& docker-php-ext-enable memcache \
&& cd / && rm -rf /tmp/memcache \
\
&& rm -rf /usr/local/lib/php/test/memcache || true \
&& rm -rf /usr/local/lib/php/doc/memcache || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install memcached \
&& docker-php-ext-enable memcached \
\
&& rm -rf /usr/local/lib/php/test/memcached || true \
&& rm -rf /usr/local/lib/php/doc/memcached || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install mongodb \
&& docker-php-ext-enable mongodb \
\
&& rm -rf /usr/local/lib/php/test/mongodb || true \
&& rm -rf /usr/local/lib/php/doc/mongodb || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install msgpack \
&& docker-php-ext-enable msgpack \
\
&& rm -rf /usr/local/lib/php/test/msgpack || true \
&& rm -rf /usr/local/lib/php/doc/msgpack || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \
\
&& rm -rf /usr/local/lib/php/test/mysqli || true \
&& rm -rf /usr/local/lib/php/doc/mysqli || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/mysqlnd || true \
&& rm -rf /usr/local/lib/php/doc/mysqlnd || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \
\
&& rm -rf /usr/local/lib/php/test/opcache || true \
&& rm -rf /usr/local/lib/php/doc/opcache || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/openssl || true \
&& rm -rf /usr/local/lib/php/doc/openssl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
\
&& rm -rf /usr/local/lib/php/test/pcntl || true \
&& rm -rf /usr/local/lib/php/doc/pcntl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/pcre || true \
&& rm -rf /usr/local/lib/php/doc/pcre || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo \
\
&& rm -rf /usr/local/lib/php/test/pdo || true \
&& rm -rf /usr/local/lib/php/doc/pdo || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
\
&& rm -rf /usr/local/lib/php/test/pdo_dblib || true \
&& rm -rf /usr/local/lib/php/doc/pdo_dblib || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
\
&& rm -rf /usr/local/lib/php/test/pdo_firebird || true \
&& rm -rf /usr/local/lib/php/doc/pdo_firebird || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
\
&& rm -rf /usr/local/lib/php/test/pdo_mysql || true \
&& rm -rf /usr/local/lib/php/doc/pdo_mysql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_sqlite \
\
&& rm -rf /usr/local/lib/php/test/pdo_pgsql || true \
&& rm -rf /usr/local/lib/php/doc/pdo_pgsql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/pdo_sqlite || true \
&& rm -rf /usr/local/lib/php/doc/pdo_sqlite || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
\
&& rm -rf /usr/local/lib/php/test/pgsql || true \
&& rm -rf /usr/local/lib/php/doc/pgsql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& git clone -v https://github.com/phalcon/cphalcon /tmp/phalcon \
&& cd /tmp/phalcon \
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \
&& cd build && ./install \
&& docker-php-ext-enable phalcon \
&& cd / && rm -rf /tmp/phalcon \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) posix \
\
&& rm -rf /usr/local/lib/php/test/phalcon || true \
&& rm -rf /usr/local/lib/php/doc/phalcon || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/posix || true \
&& rm -rf /usr/local/lib/php/doc/posix || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pspell \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) readline \
\
&& rm -rf /usr/local/lib/php/test/pspell || true \
&& rm -rf /usr/local/lib/php/doc/pspell || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/readline || true \
&& rm -rf /usr/local/lib/php/doc/readline || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
\
&& rm -rf /usr/local/lib/php/test/recode || true \
&& rm -rf /usr/local/lib/php/doc/recode || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install redis \
&& docker-php-ext-enable redis \
&& /usr/local/bin/docker-php-ext-configure session --with-mm \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) session \
\
&& rm -rf /usr/local/lib/php/test/redis || true \
&& rm -rf /usr/local/lib/php/doc/redis || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install rdkafka \
&& docker-php-ext-enable rdkafka \
\
&& rm -rf /usr/local/lib/php/test/rdkafka || true \
&& rm -rf /usr/local/lib/php/doc/rdkafka || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/session || true \
&& rm -rf /usr/local/lib/php/doc/session || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
&& /usr/local/bin/docker-php-ext-configure simplexml --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) simplexml \
\
&& rm -rf /usr/local/lib/php/test/shmop || true \
&& rm -rf /usr/local/lib/php/doc/shmop || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/simplexml || true \
&& rm -rf /usr/local/lib/php/doc/simplexml || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
\
&& rm -rf /usr/local/lib/php/test/snmp || true \
&& rm -rf /usr/local/lib/php/doc/snmp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
\
&& rm -rf /usr/local/lib/php/test/soap || true \
&& rm -rf /usr/local/lib/php/doc/soap || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
\
&& rm -rf /usr/local/lib/php/test/sockets || true \
&& rm -rf /usr/local/lib/php/doc/sockets || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install swoole-2.2.0 \
&& docker-php-ext-enable swoole \
\
&& rm -rf /usr/local/lib/php/test/swoole || true \
&& rm -rf /usr/local/lib/php/doc/swoole || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvmsg \
\
&& rm -rf /usr/local/lib/php/test/sysvmsg || true \
&& rm -rf /usr/local/lib/php/doc/sysvmsg || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
\
&& rm -rf /usr/local/lib/php/test/sysvsem || true \
&& rm -rf /usr/local/lib/php/doc/sysvsem || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
\
&& rm -rf /usr/local/lib/php/test/sysvshm || true \
&& rm -rf /usr/local/lib/php/doc/sysvshm || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tokenizer \
\
&& rm -rf /usr/local/lib/php/test/tidy || true \
&& rm -rf /usr/local/lib/php/doc/tidy || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/tokenizer || true \
&& rm -rf /usr/local/lib/php/doc/tokenizer || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& git clone -v https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
&& cd /tmp/uploadprogress \
&& phpize \
@@ -229,43 +452,85 @@ RUN set -x \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
&& docker-php-ext-enable uploadprogress \
&& cd / && rm -rf /tmp/uploadprogress \
\
&& rm -rf /usr/local/lib/php/test/uploadprogress || true \
&& rm -rf /usr/local/lib/php/doc/uploadprogress || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
\
&& rm -rf /usr/local/lib/php/test/wddx || true \
&& rm -rf /usr/local/lib/php/doc/wddx || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install xdebug \
&& docker-php-ext-enable xdebug \
&& /usr/local/bin/docker-php-ext-configure xml --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xml \
\
&& rm -rf /usr/local/lib/php/test/xdebug || true \
&& rm -rf /usr/local/lib/php/doc/xdebug || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/xml || true \
&& rm -rf /usr/local/lib/php/doc/xml || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/xmlreader || true \
&& rm -rf /usr/local/lib/php/doc/xmlreader || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \
&& /usr/local/bin/docker-php-ext-configure xmlwriter --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlwriter \
\
&& rm -rf /usr/local/lib/php/test/xmlrpc || true \
&& rm -rf /usr/local/lib/php/doc/xmlrpc || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/xmlwriter || true \
&& rm -rf /usr/local/lib/php/doc/xmlwriter || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
\
&& rm -rf /usr/local/lib/php/test/xsl || true \
&& rm -rf /usr/local/lib/php/doc/xsl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
\
&& rm -rf /usr/local/lib/php/test/zip || true \
&& rm -rf /usr/local/lib/php/doc/zip || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& rm -rf /tmp/* \
\
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
${BUILD_DEPS} \
\
\
&& apt-get install --no-install-recommends --no-install-suggests -y \
${RUN_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false ${BUILD_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests ${RUN_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
&& update-ca-certificates \
&& sh -c "find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true"
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find "$(php -r 'echo ini_get("extension_dir");')" -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
###
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.0' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
RUN set -x \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini \
\
&& php -m | grep -oiE '^amqp$' \
&& php-fpm -m | grep -oiE '^amqp$' \
&& php -m | grep -oiE '^apcu$' \
@@ -290,6 +555,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^exif$' \
&& php -m | grep -oiE '^fileinfo$' \
&& php-fpm -m | grep -oiE '^fileinfo$' \
&& php -m | grep -oiE '^filter$' \
&& php-fpm -m | grep -oiE '^filter$' \
&& php -m | grep -oiE '^ftp$' \
&& php-fpm -m | grep -oiE '^ftp$' \
&& php -m | grep -oiE '^gd$' \
@@ -316,6 +583,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^json$' \
&& php -m | grep -oiE '^ldap$' \
&& php-fpm -m | grep -oiE '^ldap$' \
&& php -m | grep -oiE '^libxml$' \
&& php-fpm -m | grep -oiE '^libxml$' \
&& php -m | grep -oiE '^mbstring$' \
&& php-fpm -m | grep -oiE '^mbstring$' \
&& php -m | grep -oiE '^mcrypt$' \
@@ -330,10 +599,18 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^msgpack$' \
&& php -m | grep -oiE '^mysqli$' \
&& php-fpm -m | grep -oiE '^mysqli$' \
&& php -m | grep -oiE '^mysqlnd$' \
&& php-fpm -m | grep -oiE '^mysqlnd$' \
&& php -m | grep -oiE '^Zend Opcache$' \
&& php-fpm -m | grep -oiE '^Zend Opcache$' \
&& php -m | grep -oiE '^openssl$' \
&& php-fpm -m | grep -oiE '^openssl$' \
&& php -m | grep -oiE '^pcntl$' \
&& php-fpm -m | grep -oiE '^pcntl$' \
&& php -m | grep -oiE '^pcre$' \
&& php-fpm -m | grep -oiE '^pcre$' \
&& php -m | grep -oiE '^pdo$' \
&& php-fpm -m | grep -oiE '^pdo$' \
&& php -m | grep -oiE '^pdo_dblib$' \
&& php-fpm -m | grep -oiE '^pdo_dblib$' \
&& php -m | grep -oiE '^pdo_firebird$' \
@@ -358,6 +635,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^recode$' \
&& php -m | grep -oiE '^redis$' \
&& php-fpm -m | grep -oiE '^redis$' \
&& php -m | grep -oiE '^rdkafka$' \
&& php-fpm -m | grep -oiE '^rdkafka$' \
&& php -m | grep -oiE '^session$' \
&& php-fpm -m | grep -oiE '^session$' \
&& php -m | grep -oiE '^shmop$' \
@@ -390,6 +669,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^xdebug$' \
&& php -m | grep -oiE '^xml$' \
&& php-fpm -m | grep -oiE '^xml$' \
&& php -m | grep -oiE '^xmlreader$' \
&& php-fpm -m | grep -oiE '^xmlreader$' \
&& php -m | grep -oiE '^xmlrpc$' \
&& php-fpm -m | grep -oiE '^xmlrpc$' \
&& php -m | grep -oiE '^xmlwriter$' \

View File

@@ -18,94 +18,70 @@ LABEL \
### Envs
###
ENV BUILD_DEPS \
librabbitmq-dev \
libbz2-dev \
libcurl4-openssl-dev \
libxml2-dev \
libenchant-dev \
libssl-dev \
libpng-dev \
libjpeg-dev \
libxpm-dev \
libvpx-dev \
zlib1g-dev \
libfreetype6-dev \
libwebp-dev \
libgmp-dev \
libmagickwand-dev \
libc-client-dev \
libkrb5-dev \
libcurl4-openssl-dev \
libfbclient2 \
libib-util \
firebird-dev \
libicu-dev \
libldap2-dev \
libsasl2-dev \
libmcrypt-dev \
zlib1g-dev \
zlib1g-dev \
libmemcached-dev \
libssl-dev \
libsasl2-dev \
freetds-dev \
libbz2-dev \
libc-client-dev \
libcurl4-openssl-dev \
libenchant-dev \
libfbclient2 \
libfreetype6-dev \
libgmp-dev \
libib-util \
firebird-dev \
zlib1g-dev \
libpq-dev \
libsqlite3-dev \
libpq-dev \
libssl-dev \
libpspell-dev \
libedit-dev \
libreadline-dev \
librecode-dev \
libmm-dev \
libxml2-dev \
libssl-dev \
libsnmp-dev \
snmp \
libxml2-dev \
libicu-dev \
libjpeg-dev \
libkrb5-dev \
libldap2-dev \
libmagickwand-dev \
libmcrypt-dev \
libmemcached-dev \
libnghttp2-dev \
libpng-dev \
libpq-dev \
libpspell-dev \
librabbitmq-dev \
librdkafka-dev \
librecode-dev \
libsasl2-dev \
libsnmp-dev \
libssl-dev \
libtidy-dev \
libvpx-dev \
libwebp-dev \
libxml2-dev \
libxml2-dev \
libxml2-dev \
libxml2-dev \
libxpm-dev \
libxslt-dev \
zlib1g-dev \
libzip-dev \
snmp \
zlib1g-dev \
ca-certificates \
git
ENV RUN_DEPS \
librabbitmq4 \
libenchant1c2a \
libpng16-16 \
libjpeg62-turbo \
libxpm4 \
libvpx4 \
libfreetype6 \
libwebp6 \
libmagickwand-6.q16-3 \
libaspell15 \
libc-client2007e \
libenchant1c2a \
libfbclient2 \
libfreetype6 \
libicu57 \
libjpeg62-turbo \
libmagickwand-6.q16-3 \
libmcrypt4 \
libmemcachedutil2 \
libsybdb5 \
libfbclient2 \
libpq5 \
libpq5 \
libaspell15 \
librecode0 \
snmp \
libnghttp2-14 \
libpng16-16 \
libpq5 \
librabbitmq4 \
librdkafka1 \
librecode0 \
libsybdb5 \
libtidy5 \
libvpx4 \
libwebp6 \
libxpm4 \
libxslt1.1 \
libzip4 \
snmp \
ca-certificates
@@ -113,8 +89,9 @@ ENV RUN_DEPS \
### Install
###
RUN set -x \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
${BUILD_DEPS} \
\
\
@@ -128,46 +105,155 @@ RUN set -x \
&& rm -rf ioncube \
&& rm -rf ioncube.tar.gz \
\
\
&& rm -rf /usr/local/lib/php/test/ioncube || true \
&& rm -rf /usr/local/lib/php/doc/ioncube || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& echo "/usr" | pecl install amqp \
&& docker-php-ext-enable amqp \
\
&& rm -rf /usr/local/lib/php/test/amqp || true \
&& rm -rf /usr/local/lib/php/doc/amqp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install apcu \
&& docker-php-ext-enable apcu \
\
&& rm -rf /usr/local/lib/php/test/apcu || true \
&& rm -rf /usr/local/lib/php/doc/apcu || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
\
&& rm -rf /usr/local/lib/php/test/bcmath || true \
&& rm -rf /usr/local/lib/php/doc/bcmath || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \
\
&& rm -rf /usr/local/lib/php/test/bz2 || true \
&& rm -rf /usr/local/lib/php/doc/bz2 || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ctype \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) curl \
\
&& rm -rf /usr/local/lib/php/test/calendar || true \
&& rm -rf /usr/local/lib/php/doc/calendar || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/ctype || true \
&& rm -rf /usr/local/lib/php/doc/ctype || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/curl || true \
&& rm -rf /usr/local/lib/php/doc/curl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
&& /usr/local/bin/docker-php-ext-configure dom --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dom \
\
&& rm -rf /usr/local/lib/php/test/dba || true \
&& rm -rf /usr/local/lib/php/doc/dba || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/dom || true \
&& rm -rf /usr/local/lib/php/doc/dom || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
\
&& rm -rf /usr/local/lib/php/test/enchant || true \
&& rm -rf /usr/local/lib/php/doc/enchant || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) fileinfo \
&& /usr/local/bin/docker-php-ext-configure ftp --with-openssl-dir \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ftp \
\
&& rm -rf /usr/local/lib/php/test/exif || true \
&& rm -rf /usr/local/lib/php/doc/exif || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/fileinfo || true \
&& rm -rf /usr/local/lib/php/doc/fileinfo || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/filter || true \
&& rm -rf /usr/local/lib/php/doc/filter || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/ftp || true \
&& rm -rf /usr/local/lib/php/doc/ftp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
\
&& rm -rf /usr/local/lib/php/test/gd || true \
&& rm -rf /usr/local/lib/php/doc/gd || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
\
&& rm -rf /usr/local/lib/php/test/gettext || true \
&& rm -rf /usr/local/lib/php/doc/gettext || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) hash \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) iconv \
\
&& rm -rf /usr/local/lib/php/test/gmp || true \
&& rm -rf /usr/local/lib/php/doc/gmp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/hash || true \
&& rm -rf /usr/local/lib/php/doc/hash || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/iconv || true \
&& rm -rf /usr/local/lib/php/doc/iconv || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install igbinary \
&& docker-php-ext-enable igbinary \
\
&& rm -rf /usr/local/lib/php/test/igbinary || true \
&& rm -rf /usr/local/lib/php/doc/igbinary || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install imagick \
&& docker-php-ext-enable imagick \
\
&& rm -rf /usr/local/lib/php/test/imagick || true \
&& rm -rf /usr/local/lib/php/doc/imagick || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure imap --with-kerberos --with-imap-ssl --with-imap \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
\
&& rm -rf /usr/local/lib/php/test/imap || true \
&& rm -rf /usr/local/lib/php/doc/imap || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
\
&& rm -rf /usr/local/lib/php/test/interbase || true \
&& rm -rf /usr/local/lib/php/doc/interbase || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) json \
\
&& rm -rf /usr/local/lib/php/test/intl || true \
&& rm -rf /usr/local/lib/php/doc/intl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/json || true \
&& rm -rf /usr/local/lib/php/doc/json || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mbstring \
\
&& rm -rf /usr/local/lib/php/test/ldap || true \
&& rm -rf /usr/local/lib/php/doc/ldap || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/libxml || true \
&& rm -rf /usr/local/lib/php/doc/libxml || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/mbstring || true \
&& rm -rf /usr/local/lib/php/doc/mbstring || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
\
&& rm -rf /usr/local/lib/php/test/mcrypt || true \
&& rm -rf /usr/local/lib/php/doc/mcrypt || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& git clone -v https://github.com/websupport-sk/pecl-memcache /tmp/memcache \
&& cd /tmp/memcache \
&& phpize \
@@ -175,55 +261,193 @@ RUN set -x \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
&& docker-php-ext-enable memcache \
&& cd / && rm -rf /tmp/memcache \
\
&& rm -rf /usr/local/lib/php/test/memcache || true \
&& rm -rf /usr/local/lib/php/doc/memcache || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install memcached \
&& docker-php-ext-enable memcached \
\
&& rm -rf /usr/local/lib/php/test/memcached || true \
&& rm -rf /usr/local/lib/php/doc/memcached || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install mongodb \
&& docker-php-ext-enable mongodb \
\
&& rm -rf /usr/local/lib/php/test/mongodb || true \
&& rm -rf /usr/local/lib/php/doc/mongodb || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install msgpack \
&& docker-php-ext-enable msgpack \
\
&& rm -rf /usr/local/lib/php/test/msgpack || true \
&& rm -rf /usr/local/lib/php/doc/msgpack || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \
\
&& rm -rf /usr/local/lib/php/test/mysqli || true \
&& rm -rf /usr/local/lib/php/doc/mysqli || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/mysqlnd || true \
&& rm -rf /usr/local/lib/php/doc/mysqlnd || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \
\
&& rm -rf /usr/local/lib/php/test/opcache || true \
&& rm -rf /usr/local/lib/php/doc/opcache || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/openssl || true \
&& rm -rf /usr/local/lib/php/doc/openssl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo \
\
&& rm -rf /usr/local/lib/php/test/pcntl || true \
&& rm -rf /usr/local/lib/php/doc/pcntl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/pcre || true \
&& rm -rf /usr/local/lib/php/doc/pcre || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/pdo || true \
&& rm -rf /usr/local/lib/php/doc/pdo || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
\
&& rm -rf /usr/local/lib/php/test/pdo_dblib || true \
&& rm -rf /usr/local/lib/php/doc/pdo_dblib || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
\
&& rm -rf /usr/local/lib/php/test/pdo_firebird || true \
&& rm -rf /usr/local/lib/php/doc/pdo_firebird || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
\
&& rm -rf /usr/local/lib/php/test/pdo_mysql || true \
&& rm -rf /usr/local/lib/php/doc/pdo_mysql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_sqlite \
\
&& rm -rf /usr/local/lib/php/test/pdo_pgsql || true \
&& rm -rf /usr/local/lib/php/doc/pdo_pgsql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/pdo_sqlite || true \
&& rm -rf /usr/local/lib/php/doc/pdo_sqlite || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
\
&& rm -rf /usr/local/lib/php/test/pgsql || true \
&& rm -rf /usr/local/lib/php/doc/pgsql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& git clone -v https://github.com/phalcon/cphalcon /tmp/phalcon \
&& cd /tmp/phalcon \
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \
&& cd build && ./install \
&& docker-php-ext-enable phalcon \
&& cd / && rm -rf /tmp/phalcon \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) phar \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) posix \
\
&& rm -rf /usr/local/lib/php/test/phalcon || true \
&& rm -rf /usr/local/lib/php/doc/phalcon || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/phar || true \
&& rm -rf /usr/local/lib/php/doc/phar || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/posix || true \
&& rm -rf /usr/local/lib/php/doc/posix || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pspell \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) readline \
\
&& rm -rf /usr/local/lib/php/test/pspell || true \
&& rm -rf /usr/local/lib/php/doc/pspell || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/readline || true \
&& rm -rf /usr/local/lib/php/doc/readline || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
\
&& rm -rf /usr/local/lib/php/test/recode || true \
&& rm -rf /usr/local/lib/php/doc/recode || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install redis \
&& docker-php-ext-enable redis \
&& /usr/local/bin/docker-php-ext-configure session --with-mm \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) session \
\
&& rm -rf /usr/local/lib/php/test/redis || true \
&& rm -rf /usr/local/lib/php/doc/redis || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install rdkafka \
&& docker-php-ext-enable rdkafka \
\
&& rm -rf /usr/local/lib/php/test/rdkafka || true \
&& rm -rf /usr/local/lib/php/doc/rdkafka || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/session || true \
&& rm -rf /usr/local/lib/php/doc/session || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
&& /usr/local/bin/docker-php-ext-configure simplexml --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) simplexml \
\
&& rm -rf /usr/local/lib/php/test/shmop || true \
&& rm -rf /usr/local/lib/php/doc/shmop || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/simplexml || true \
&& rm -rf /usr/local/lib/php/doc/simplexml || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
\
&& rm -rf /usr/local/lib/php/test/snmp || true \
&& rm -rf /usr/local/lib/php/doc/snmp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
\
&& rm -rf /usr/local/lib/php/test/soap || true \
&& rm -rf /usr/local/lib/php/doc/soap || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
\
&& rm -rf /usr/local/lib/php/test/sockets || true \
&& rm -rf /usr/local/lib/php/doc/sockets || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install swoole \
&& docker-php-ext-enable swoole \
\
&& rm -rf /usr/local/lib/php/test/swoole || true \
&& rm -rf /usr/local/lib/php/doc/swoole || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvmsg \
\
&& rm -rf /usr/local/lib/php/test/sysvmsg || true \
&& rm -rf /usr/local/lib/php/doc/sysvmsg || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
\
&& rm -rf /usr/local/lib/php/test/sysvsem || true \
&& rm -rf /usr/local/lib/php/doc/sysvsem || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
\
&& rm -rf /usr/local/lib/php/test/sysvshm || true \
&& rm -rf /usr/local/lib/php/doc/sysvshm || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tokenizer \
\
&& rm -rf /usr/local/lib/php/test/tidy || true \
&& rm -rf /usr/local/lib/php/doc/tidy || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/tokenizer || true \
&& rm -rf /usr/local/lib/php/doc/tokenizer || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& git clone -v https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
&& cd /tmp/uploadprogress \
&& phpize \
@@ -231,43 +455,85 @@ RUN set -x \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
&& docker-php-ext-enable uploadprogress \
&& cd / && rm -rf /tmp/uploadprogress \
\
&& rm -rf /usr/local/lib/php/test/uploadprogress || true \
&& rm -rf /usr/local/lib/php/doc/uploadprogress || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
\
&& rm -rf /usr/local/lib/php/test/wddx || true \
&& rm -rf /usr/local/lib/php/doc/wddx || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install xdebug \
&& docker-php-ext-enable xdebug \
&& /usr/local/bin/docker-php-ext-configure xml --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xml \
\
&& rm -rf /usr/local/lib/php/test/xdebug || true \
&& rm -rf /usr/local/lib/php/doc/xdebug || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/xml || true \
&& rm -rf /usr/local/lib/php/doc/xml || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/xmlreader || true \
&& rm -rf /usr/local/lib/php/doc/xmlreader || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \
&& /usr/local/bin/docker-php-ext-configure xmlwriter --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlwriter \
\
&& rm -rf /usr/local/lib/php/test/xmlrpc || true \
&& rm -rf /usr/local/lib/php/doc/xmlrpc || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/xmlwriter || true \
&& rm -rf /usr/local/lib/php/doc/xmlwriter || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
\
&& rm -rf /usr/local/lib/php/test/xsl || true \
&& rm -rf /usr/local/lib/php/doc/xsl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
\
&& rm -rf /usr/local/lib/php/test/zip || true \
&& rm -rf /usr/local/lib/php/doc/zip || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& rm -rf /tmp/* \
\
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
${BUILD_DEPS} \
\
\
&& apt-get install --no-install-recommends --no-install-suggests -y \
${RUN_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false ${BUILD_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests ${RUN_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
&& update-ca-certificates \
&& sh -c "find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true"
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find "$(php -r 'echo ini_get("extension_dir");')" -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
###
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.1' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
RUN set -x \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini \
\
&& php -m | grep -oiE '^amqp$' \
&& php-fpm -m | grep -oiE '^amqp$' \
&& php -m | grep -oiE '^apcu$' \
@@ -292,6 +558,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^exif$' \
&& php -m | grep -oiE '^fileinfo$' \
&& php-fpm -m | grep -oiE '^fileinfo$' \
&& php -m | grep -oiE '^filter$' \
&& php-fpm -m | grep -oiE '^filter$' \
&& php -m | grep -oiE '^ftp$' \
&& php-fpm -m | grep -oiE '^ftp$' \
&& php -m | grep -oiE '^gd$' \
@@ -318,6 +586,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^json$' \
&& php -m | grep -oiE '^ldap$' \
&& php-fpm -m | grep -oiE '^ldap$' \
&& php -m | grep -oiE '^libxml$' \
&& php-fpm -m | grep -oiE '^libxml$' \
&& php -m | grep -oiE '^mbstring$' \
&& php-fpm -m | grep -oiE '^mbstring$' \
&& php -m | grep -oiE '^mcrypt$' \
@@ -332,10 +602,16 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^msgpack$' \
&& php -m | grep -oiE '^mysqli$' \
&& php-fpm -m | grep -oiE '^mysqli$' \
&& php -m | grep -oiE '^mysqlnd$' \
&& php-fpm -m | grep -oiE '^mysqlnd$' \
&& php -m | grep -oiE '^Zend Opcache$' \
&& php-fpm -m | grep -oiE '^Zend Opcache$' \
&& php -m | grep -oiE '^openssl$' \
&& php-fpm -m | grep -oiE '^openssl$' \
&& php -m | grep -oiE '^pcntl$' \
&& php-fpm -m | grep -oiE '^pcntl$' \
&& php -m | grep -oiE '^pcre$' \
&& php-fpm -m | grep -oiE '^pcre$' \
&& php -m | grep -oiE '^pdo$' \
&& php-fpm -m | grep -oiE '^pdo$' \
&& php -m | grep -oiE '^pdo_dblib$' \
@@ -364,6 +640,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^recode$' \
&& php -m | grep -oiE '^redis$' \
&& php-fpm -m | grep -oiE '^redis$' \
&& php -m | grep -oiE '^rdkafka$' \
&& php-fpm -m | grep -oiE '^rdkafka$' \
&& php -m | grep -oiE '^session$' \
&& php-fpm -m | grep -oiE '^session$' \
&& php -m | grep -oiE '^shmop$' \
@@ -396,6 +674,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^xdebug$' \
&& php -m | grep -oiE '^xml$' \
&& php-fpm -m | grep -oiE '^xml$' \
&& php -m | grep -oiE '^xmlreader$' \
&& php-fpm -m | grep -oiE '^xmlreader$' \
&& php -m | grep -oiE '^xmlrpc$' \
&& php-fpm -m | grep -oiE '^xmlrpc$' \
&& php -m | grep -oiE '^xmlwriter$' \

View File

@@ -18,95 +18,70 @@ LABEL \
### Envs
###
ENV BUILD_DEPS \
librabbitmq-dev \
libbz2-dev \
libcurl4-openssl-dev \
libxml2-dev \
libenchant-dev \
libssl-dev \
libpng-dev \
libjpeg-dev \
libxpm-dev \
libvpx-dev \
zlib1g-dev \
libfreetype6-dev \
libwebp-dev \
libgmp-dev \
libmagickwand-dev \
libc-client-dev \
libkrb5-dev \
libcurl4-openssl-dev \
libfbclient2 \
libib-util \
firebird-dev \
libicu-dev \
libldap2-dev \
libsasl2-dev \
libmcrypt-dev \
zlib1g-dev \
zlib1g-dev \
libmemcached-dev \
libssl-dev \
libsasl2-dev \
freetds-dev \
libbz2-dev \
libc-client-dev \
libcurl4-openssl-dev \
libenchant-dev \
libfbclient2 \
libfreetype6-dev \
libgmp-dev \
libib-util \
firebird-dev \
zlib1g-dev \
libpq-dev \
libsqlite3-dev \
libpq-dev \
libssl-dev \
libpspell-dev \
libedit-dev \
libreadline-dev \
librecode-dev \
libmm-dev \
libxml2-dev \
libssl-dev \
libsnmp-dev \
snmp \
libxml2-dev \
libsodium-dev \
libicu-dev \
libjpeg-dev \
libkrb5-dev \
libldap2-dev \
libmagickwand-dev \
libmcrypt-dev \
libmemcached-dev \
libnghttp2-dev \
libpng-dev \
libpq-dev \
libpspell-dev \
librabbitmq-dev \
librdkafka-dev \
librecode-dev \
libsasl2-dev \
libsnmp-dev \
libssl-dev \
libtidy-dev \
libvpx-dev \
libwebp-dev \
libxml2-dev \
libxml2-dev \
libxml2-dev \
libxml2-dev \
libxpm-dev \
libxslt-dev \
zlib1g-dev \
libzip-dev \
snmp \
zlib1g-dev \
ca-certificates \
git
ENV RUN_DEPS \
librabbitmq4 \
libenchant1c2a \
libpng16-16 \
libjpeg62-turbo \
libxpm4 \
libvpx4 \
libfreetype6 \
libwebp6 \
libmagickwand-6.q16-3 \
libaspell15 \
libc-client2007e \
libenchant1c2a \
libfbclient2 \
libfreetype6 \
libicu57 \
libjpeg62-turbo \
libmagickwand-6.q16-3 \
libmcrypt4 \
libmemcachedutil2 \
libsybdb5 \
libfbclient2 \
libpq5 \
libpq5 \
libaspell15 \
librecode0 \
snmp \
libnghttp2-14 \
libpng16-16 \
libpq5 \
librabbitmq4 \
librdkafka1 \
librecode0 \
libsybdb5 \
libtidy5 \
libvpx4 \
libwebp6 \
libxpm4 \
libxslt1.1 \
libzip4 \
snmp \
ca-certificates
@@ -114,8 +89,9 @@ ENV RUN_DEPS \
### Install
###
RUN set -x \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
${BUILD_DEPS} \
\
\
@@ -129,47 +105,156 @@ RUN set -x \
&& rm -rf ioncube \
&& rm -rf ioncube.tar.gz \
\
\
&& rm -rf /usr/local/lib/php/test/ioncube || true \
&& rm -rf /usr/local/lib/php/doc/ioncube || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& echo "/usr" | pecl install amqp \
&& docker-php-ext-enable amqp \
\
&& rm -rf /usr/local/lib/php/test/amqp || true \
&& rm -rf /usr/local/lib/php/doc/amqp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install apcu \
&& docker-php-ext-enable apcu \
\
&& rm -rf /usr/local/lib/php/test/apcu || true \
&& rm -rf /usr/local/lib/php/doc/apcu || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
\
&& rm -rf /usr/local/lib/php/test/bcmath || true \
&& rm -rf /usr/local/lib/php/doc/bcmath || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \
\
&& rm -rf /usr/local/lib/php/test/bz2 || true \
&& rm -rf /usr/local/lib/php/doc/bz2 || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ctype \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) curl \
\
&& rm -rf /usr/local/lib/php/test/calendar || true \
&& rm -rf /usr/local/lib/php/doc/calendar || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/ctype || true \
&& rm -rf /usr/local/lib/php/doc/ctype || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/curl || true \
&& rm -rf /usr/local/lib/php/doc/curl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
&& /usr/local/bin/docker-php-ext-configure dom --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dom \
\
&& rm -rf /usr/local/lib/php/test/dba || true \
&& rm -rf /usr/local/lib/php/doc/dba || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/dom || true \
&& rm -rf /usr/local/lib/php/doc/dom || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
\
&& rm -rf /usr/local/lib/php/test/enchant || true \
&& rm -rf /usr/local/lib/php/doc/enchant || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) fileinfo \
&& /usr/local/bin/docker-php-ext-configure ftp --with-openssl-dir \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ftp \
\
&& rm -rf /usr/local/lib/php/test/exif || true \
&& rm -rf /usr/local/lib/php/doc/exif || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/fileinfo || true \
&& rm -rf /usr/local/lib/php/doc/fileinfo || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/filter || true \
&& rm -rf /usr/local/lib/php/doc/filter || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/ftp || true \
&& rm -rf /usr/local/lib/php/doc/ftp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
\
&& rm -rf /usr/local/lib/php/test/gd || true \
&& rm -rf /usr/local/lib/php/doc/gd || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
\
&& rm -rf /usr/local/lib/php/test/gettext || true \
&& rm -rf /usr/local/lib/php/doc/gettext || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) hash \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) iconv \
\
&& rm -rf /usr/local/lib/php/test/gmp || true \
&& rm -rf /usr/local/lib/php/doc/gmp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/hash || true \
&& rm -rf /usr/local/lib/php/doc/hash || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/iconv || true \
&& rm -rf /usr/local/lib/php/doc/iconv || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install igbinary \
&& docker-php-ext-enable igbinary \
\
&& rm -rf /usr/local/lib/php/test/igbinary || true \
&& rm -rf /usr/local/lib/php/doc/igbinary || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install imagick \
&& docker-php-ext-enable imagick \
\
&& rm -rf /usr/local/lib/php/test/imagick || true \
&& rm -rf /usr/local/lib/php/doc/imagick || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure imap --with-kerberos --with-imap-ssl --with-imap \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
\
&& rm -rf /usr/local/lib/php/test/imap || true \
&& rm -rf /usr/local/lib/php/doc/imap || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
\
&& rm -rf /usr/local/lib/php/test/interbase || true \
&& rm -rf /usr/local/lib/php/doc/interbase || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) json \
\
&& rm -rf /usr/local/lib/php/test/intl || true \
&& rm -rf /usr/local/lib/php/doc/intl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/json || true \
&& rm -rf /usr/local/lib/php/doc/json || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mbstring \
\
&& rm -rf /usr/local/lib/php/test/ldap || true \
&& rm -rf /usr/local/lib/php/doc/ldap || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/libxml || true \
&& rm -rf /usr/local/lib/php/doc/libxml || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/mbstring || true \
&& rm -rf /usr/local/lib/php/doc/mbstring || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install mcrypt-1.0.1 \
&& docker-php-ext-enable mcrypt \
\
&& rm -rf /usr/local/lib/php/test/mcrypt || true \
&& rm -rf /usr/local/lib/php/doc/mcrypt || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& git clone -v https://github.com/websupport-sk/pecl-memcache /tmp/memcache \
&& cd /tmp/memcache \
&& phpize \
@@ -177,56 +262,197 @@ RUN set -x \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
&& docker-php-ext-enable memcache \
&& cd / && rm -rf /tmp/memcache \
\
&& rm -rf /usr/local/lib/php/test/memcache || true \
&& rm -rf /usr/local/lib/php/doc/memcache || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install memcached \
&& docker-php-ext-enable memcached \
\
&& rm -rf /usr/local/lib/php/test/memcached || true \
&& rm -rf /usr/local/lib/php/doc/memcached || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install mongodb \
&& docker-php-ext-enable mongodb \
\
&& rm -rf /usr/local/lib/php/test/mongodb || true \
&& rm -rf /usr/local/lib/php/doc/mongodb || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install msgpack \
&& docker-php-ext-enable msgpack \
\
&& rm -rf /usr/local/lib/php/test/msgpack || true \
&& rm -rf /usr/local/lib/php/doc/msgpack || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \
\
&& rm -rf /usr/local/lib/php/test/mysqli || true \
&& rm -rf /usr/local/lib/php/doc/mysqli || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/mysqlnd || true \
&& rm -rf /usr/local/lib/php/doc/mysqlnd || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \
\
&& rm -rf /usr/local/lib/php/test/opcache || true \
&& rm -rf /usr/local/lib/php/doc/opcache || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/openssl || true \
&& rm -rf /usr/local/lib/php/doc/openssl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo \
\
&& rm -rf /usr/local/lib/php/test/pcntl || true \
&& rm -rf /usr/local/lib/php/doc/pcntl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/pcre || true \
&& rm -rf /usr/local/lib/php/doc/pcre || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/pdo || true \
&& rm -rf /usr/local/lib/php/doc/pdo || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
\
&& rm -rf /usr/local/lib/php/test/pdo_dblib || true \
&& rm -rf /usr/local/lib/php/doc/pdo_dblib || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
\
&& rm -rf /usr/local/lib/php/test/pdo_firebird || true \
&& rm -rf /usr/local/lib/php/doc/pdo_firebird || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
\
&& rm -rf /usr/local/lib/php/test/pdo_mysql || true \
&& rm -rf /usr/local/lib/php/doc/pdo_mysql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_sqlite \
\
&& rm -rf /usr/local/lib/php/test/pdo_pgsql || true \
&& rm -rf /usr/local/lib/php/doc/pdo_pgsql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/pdo_sqlite || true \
&& rm -rf /usr/local/lib/php/doc/pdo_sqlite || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
\
&& rm -rf /usr/local/lib/php/test/pgsql || true \
&& rm -rf /usr/local/lib/php/doc/pgsql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& git clone -v https://github.com/phalcon/cphalcon /tmp/phalcon \
&& cd /tmp/phalcon \
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \
&& cd build && ./install \
&& docker-php-ext-enable phalcon \
&& cd / && rm -rf /tmp/phalcon \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) phar \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) posix \
\
&& rm -rf /usr/local/lib/php/test/phalcon || true \
&& rm -rf /usr/local/lib/php/doc/phalcon || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/phar || true \
&& rm -rf /usr/local/lib/php/doc/phar || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/posix || true \
&& rm -rf /usr/local/lib/php/doc/posix || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pspell \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) readline \
\
&& rm -rf /usr/local/lib/php/test/pspell || true \
&& rm -rf /usr/local/lib/php/doc/pspell || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/readline || true \
&& rm -rf /usr/local/lib/php/doc/readline || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
\
&& rm -rf /usr/local/lib/php/test/recode || true \
&& rm -rf /usr/local/lib/php/doc/recode || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install redis \
&& docker-php-ext-enable redis \
&& /usr/local/bin/docker-php-ext-configure session --with-mm \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) session \
\
&& rm -rf /usr/local/lib/php/test/redis || true \
&& rm -rf /usr/local/lib/php/doc/redis || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install rdkafka \
&& docker-php-ext-enable rdkafka \
\
&& rm -rf /usr/local/lib/php/test/rdkafka || true \
&& rm -rf /usr/local/lib/php/doc/rdkafka || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/session || true \
&& rm -rf /usr/local/lib/php/doc/session || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
&& /usr/local/bin/docker-php-ext-configure simplexml --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) simplexml \
\
&& rm -rf /usr/local/lib/php/test/shmop || true \
&& rm -rf /usr/local/lib/php/doc/shmop || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/simplexml || true \
&& rm -rf /usr/local/lib/php/doc/simplexml || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
\
&& rm -rf /usr/local/lib/php/test/snmp || true \
&& rm -rf /usr/local/lib/php/doc/snmp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
\
&& rm -rf /usr/local/lib/php/test/soap || true \
&& rm -rf /usr/local/lib/php/doc/soap || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sodium \
\
&& rm -rf /usr/local/lib/php/test/sockets || true \
&& rm -rf /usr/local/lib/php/doc/sockets || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/sodium || true \
&& rm -rf /usr/local/lib/php/doc/sodium || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install swoole \
&& docker-php-ext-enable swoole \
\
&& rm -rf /usr/local/lib/php/test/swoole || true \
&& rm -rf /usr/local/lib/php/doc/swoole || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvmsg \
\
&& rm -rf /usr/local/lib/php/test/sysvmsg || true \
&& rm -rf /usr/local/lib/php/doc/sysvmsg || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
\
&& rm -rf /usr/local/lib/php/test/sysvsem || true \
&& rm -rf /usr/local/lib/php/doc/sysvsem || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
\
&& rm -rf /usr/local/lib/php/test/sysvshm || true \
&& rm -rf /usr/local/lib/php/doc/sysvshm || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tokenizer \
\
&& rm -rf /usr/local/lib/php/test/tidy || true \
&& rm -rf /usr/local/lib/php/doc/tidy || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/tokenizer || true \
&& rm -rf /usr/local/lib/php/doc/tokenizer || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& git clone -v https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
&& cd /tmp/uploadprogress \
&& phpize \
@@ -234,43 +460,85 @@ RUN set -x \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
&& docker-php-ext-enable uploadprogress \
&& cd / && rm -rf /tmp/uploadprogress \
\
&& rm -rf /usr/local/lib/php/test/uploadprogress || true \
&& rm -rf /usr/local/lib/php/doc/uploadprogress || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
\
&& rm -rf /usr/local/lib/php/test/wddx || true \
&& rm -rf /usr/local/lib/php/doc/wddx || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install xdebug \
&& docker-php-ext-enable xdebug \
&& /usr/local/bin/docker-php-ext-configure xml --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xml \
\
&& rm -rf /usr/local/lib/php/test/xdebug || true \
&& rm -rf /usr/local/lib/php/doc/xdebug || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/xml || true \
&& rm -rf /usr/local/lib/php/doc/xml || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/xmlreader || true \
&& rm -rf /usr/local/lib/php/doc/xmlreader || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \
&& /usr/local/bin/docker-php-ext-configure xmlwriter --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlwriter \
\
&& rm -rf /usr/local/lib/php/test/xmlrpc || true \
&& rm -rf /usr/local/lib/php/doc/xmlrpc || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/xmlwriter || true \
&& rm -rf /usr/local/lib/php/doc/xmlwriter || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
\
&& rm -rf /usr/local/lib/php/test/xsl || true \
&& rm -rf /usr/local/lib/php/doc/xsl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
\
&& rm -rf /usr/local/lib/php/test/zip || true \
&& rm -rf /usr/local/lib/php/doc/zip || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& rm -rf /tmp/* \
\
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
${BUILD_DEPS} \
\
\
&& apt-get install --no-install-recommends --no-install-suggests -y \
${RUN_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false ${BUILD_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests ${RUN_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
&& update-ca-certificates \
&& sh -c "find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true"
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find "$(php -r 'echo ini_get("extension_dir");')" -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
###
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.2' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
RUN set -x \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini \
\
&& php -m | grep -oiE '^amqp$' \
&& php-fpm -m | grep -oiE '^amqp$' \
&& php -m | grep -oiE '^apcu$' \
@@ -295,6 +563,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^exif$' \
&& php -m | grep -oiE '^fileinfo$' \
&& php-fpm -m | grep -oiE '^fileinfo$' \
&& php -m | grep -oiE '^filter$' \
&& php-fpm -m | grep -oiE '^filter$' \
&& php -m | grep -oiE '^ftp$' \
&& php-fpm -m | grep -oiE '^ftp$' \
&& php -m | grep -oiE '^gd$' \
@@ -321,6 +591,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^json$' \
&& php -m | grep -oiE '^ldap$' \
&& php-fpm -m | grep -oiE '^ldap$' \
&& php -m | grep -oiE '^libxml$' \
&& php-fpm -m | grep -oiE '^libxml$' \
&& php -m | grep -oiE '^mbstring$' \
&& php-fpm -m | grep -oiE '^mbstring$' \
&& php -m | grep -oiE '^mcrypt$' \
@@ -335,10 +607,16 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^msgpack$' \
&& php -m | grep -oiE '^mysqli$' \
&& php-fpm -m | grep -oiE '^mysqli$' \
&& php -m | grep -oiE '^mysqlnd$' \
&& php-fpm -m | grep -oiE '^mysqlnd$' \
&& php -m | grep -oiE '^Zend Opcache$' \
&& php-fpm -m | grep -oiE '^Zend Opcache$' \
&& php -m | grep -oiE '^openssl$' \
&& php-fpm -m | grep -oiE '^openssl$' \
&& php -m | grep -oiE '^pcntl$' \
&& php-fpm -m | grep -oiE '^pcntl$' \
&& php -m | grep -oiE '^pcre$' \
&& php-fpm -m | grep -oiE '^pcre$' \
&& php -m | grep -oiE '^pdo$' \
&& php-fpm -m | grep -oiE '^pdo$' \
&& php -m | grep -oiE '^pdo_dblib$' \
@@ -367,6 +645,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^recode$' \
&& php -m | grep -oiE '^redis$' \
&& php-fpm -m | grep -oiE '^redis$' \
&& php -m | grep -oiE '^rdkafka$' \
&& php-fpm -m | grep -oiE '^rdkafka$' \
&& php -m | grep -oiE '^session$' \
&& php-fpm -m | grep -oiE '^session$' \
&& php -m | grep -oiE '^shmop$' \
@@ -401,6 +681,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^xdebug$' \
&& php -m | grep -oiE '^xml$' \
&& php-fpm -m | grep -oiE '^xml$' \
&& php -m | grep -oiE '^xmlreader$' \
&& php-fpm -m | grep -oiE '^xmlreader$' \
&& php -m | grep -oiE '^xmlrpc$' \
&& php-fpm -m | grep -oiE '^xmlrpc$' \
&& php -m | grep -oiE '^xmlwriter$' \

View File

@@ -18,95 +18,71 @@ LABEL \
### Envs
###
ENV BUILD_DEPS \
libbz2-dev \
libcurl4-openssl-dev \
libxml2-dev \
libenchant-dev \
libssl-dev \
libpng-dev \
libjpeg-dev \
libxpm-dev \
libvpx-dev \
zlib1g-dev \
libfreetype6-dev \
libwebp-dev \
libgmp-dev \
libmagickwand-dev \
libc-client-dev \
libkrb5-dev \
libcurl4-openssl-dev \
libfbclient2 \
libib-util \
firebird-dev \
libicu-dev \
libldap2-dev \
libsasl2-dev \
libmcrypt-dev \
zlib1g-dev \
libmemcached-dev \
libssl-dev \
libsasl2-dev \
freetds-dev \
libfbclient2 \
libib-util \
firebird-dev \
zlib1g-dev \
libpq-dev \
libsqlite3-dev \
libpq-dev \
libssl-dev \
libpspell-dev \
libedit-dev \
libreadline-dev \
librecode-dev \
libmm-dev \
libxml2-dev \
libssl-dev \
libsnmp-dev \
snmp \
libxml2-dev \
libsodium-dev \
libnghttp2-dev \
libssl-dev \
libhiredis-dev \
cmake \
firebird-dev \
freetds-dev \
libbz2-dev \
libc-client-dev \
libcurl4-openssl-dev \
libenchant-dev \
libfbclient2 \
libfreetype6-dev \
libgmp-dev \
libhiredis-dev \
libib-util \
libicu-dev \
libjpeg-dev \
libkrb5-dev \
libldap2-dev \
libmagickwand-dev \
libmcrypt-dev \
libmemcached-dev \
libnghttp2-dev \
libpng-dev \
libpq-dev \
libpspell-dev \
librdkafka-dev \
librecode-dev \
libsasl2-dev \
libsnmp-dev \
libssl-dev \
libtidy-dev \
libvpx-dev \
libwebp-dev \
libxml2-dev \
libxml2-dev \
libxml2-dev \
libxml2-dev \
libxpm-dev \
libxslt-dev \
zlib1g-dev \
libzip-dev \
snmp \
zlib1g-dev \
ca-certificates \
git
ENV RUN_DEPS \
libenchant1c2a \
libpng16-16 \
libjpeg62-turbo \
libxpm4 \
libvpx4 \
libfreetype6 \
libwebp6 \
libmagickwand-6.q16-3 \
libaspell15 \
libc-client2007e \
libenchant1c2a \
libfbclient2 \
libfreetype6 \
libhiredis0.13 \
libicu57 \
libjpeg62-turbo \
libmagickwand-6.q16-3 \
libmcrypt4 \
libmemcachedutil2 \
libsybdb5 \
libfbclient2 \
libpq5 \
libpq5 \
libaspell15 \
librecode0 \
snmp \
libnghttp2-14 \
libhiredis0.13 \
libpng16-16 \
libpq5 \
librdkafka1 \
librecode0 \
libsybdb5 \
libtidy5 \
libvpx4 \
libwebp6 \
libxpm4 \
libxslt1.1 \
libzip4 \
snmp \
ca-certificates
@@ -114,91 +90,302 @@ ENV RUN_DEPS \
### Install
###
RUN set -x \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
${BUILD_DEPS} \
\
\
&& pecl install apcu \
&& docker-php-ext-enable apcu \
\
&& rm -rf /usr/local/lib/php/test/apcu || true \
&& rm -rf /usr/local/lib/php/doc/apcu || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
\
&& rm -rf /usr/local/lib/php/test/bcmath || true \
&& rm -rf /usr/local/lib/php/doc/bcmath || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \
\
&& rm -rf /usr/local/lib/php/test/bz2 || true \
&& rm -rf /usr/local/lib/php/doc/bz2 || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ctype \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) curl \
\
&& rm -rf /usr/local/lib/php/test/calendar || true \
&& rm -rf /usr/local/lib/php/doc/calendar || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/ctype || true \
&& rm -rf /usr/local/lib/php/doc/ctype || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/curl || true \
&& rm -rf /usr/local/lib/php/doc/curl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
&& /usr/local/bin/docker-php-ext-configure dom --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dom \
\
&& rm -rf /usr/local/lib/php/test/dba || true \
&& rm -rf /usr/local/lib/php/doc/dba || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/dom || true \
&& rm -rf /usr/local/lib/php/doc/dom || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
\
&& rm -rf /usr/local/lib/php/test/enchant || true \
&& rm -rf /usr/local/lib/php/doc/enchant || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) fileinfo \
&& /usr/local/bin/docker-php-ext-configure ftp --with-openssl-dir \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ftp \
\
&& rm -rf /usr/local/lib/php/test/exif || true \
&& rm -rf /usr/local/lib/php/doc/exif || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/fileinfo || true \
&& rm -rf /usr/local/lib/php/doc/fileinfo || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/filter || true \
&& rm -rf /usr/local/lib/php/doc/filter || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/ftp || true \
&& rm -rf /usr/local/lib/php/doc/ftp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
\
&& rm -rf /usr/local/lib/php/test/gd || true \
&& rm -rf /usr/local/lib/php/doc/gd || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
\
&& rm -rf /usr/local/lib/php/test/gettext || true \
&& rm -rf /usr/local/lib/php/doc/gettext || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) hash \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) iconv \
\
&& rm -rf /usr/local/lib/php/test/gmp || true \
&& rm -rf /usr/local/lib/php/doc/gmp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/hash || true \
&& rm -rf /usr/local/lib/php/doc/hash || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/iconv || true \
&& rm -rf /usr/local/lib/php/doc/iconv || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install igbinary \
&& docker-php-ext-enable igbinary \
\
&& rm -rf /usr/local/lib/php/test/igbinary || true \
&& rm -rf /usr/local/lib/php/doc/igbinary || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install imagick \
&& docker-php-ext-enable imagick \
\
&& rm -rf /usr/local/lib/php/test/imagick || true \
&& rm -rf /usr/local/lib/php/doc/imagick || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure imap --with-kerberos --with-imap-ssl --with-imap \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
\
&& rm -rf /usr/local/lib/php/test/imap || true \
&& rm -rf /usr/local/lib/php/doc/imap || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
\
&& rm -rf /usr/local/lib/php/test/interbase || true \
&& rm -rf /usr/local/lib/php/doc/interbase || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) json \
\
&& rm -rf /usr/local/lib/php/test/intl || true \
&& rm -rf /usr/local/lib/php/doc/intl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/json || true \
&& rm -rf /usr/local/lib/php/doc/json || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
\
&& rm -rf /usr/local/lib/php/test/ldap || true \
&& rm -rf /usr/local/lib/php/doc/ldap || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/libxml || true \
&& rm -rf /usr/local/lib/php/doc/libxml || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/mbstring || true \
&& rm -rf /usr/local/lib/php/doc/mbstring || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install mcrypt-1.0.1 \
&& docker-php-ext-enable mcrypt \
\
&& rm -rf /usr/local/lib/php/test/mcrypt || true \
&& rm -rf /usr/local/lib/php/doc/mcrypt || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& git clone -v https://github.com/php-memcached-dev/php-memcached /tmp/memcached \
&& cd /tmp/memcached \
&& git checkout master \
&& phpize && ./configure --enable-memcached && make -j$(getconf _NPROCESSORS_ONLN) && make install \
&& docker-php-ext-enable memcached \
&& cd / && rm -rf /tmp/memcached \
\
&& rm -rf /usr/local/lib/php/test/memcached || true \
&& rm -rf /usr/local/lib/php/doc/memcached || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install mongodb \
&& docker-php-ext-enable mongodb \
\
&& rm -rf /usr/local/lib/php/test/mongodb || true \
&& rm -rf /usr/local/lib/php/doc/mongodb || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \
\
&& rm -rf /usr/local/lib/php/test/mysqli || true \
&& rm -rf /usr/local/lib/php/doc/mysqli || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/mysqlnd || true \
&& rm -rf /usr/local/lib/php/doc/mysqlnd || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \
\
&& rm -rf /usr/local/lib/php/test/opcache || true \
&& rm -rf /usr/local/lib/php/doc/opcache || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/openssl || true \
&& rm -rf /usr/local/lib/php/doc/openssl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo \
\
&& rm -rf /usr/local/lib/php/test/pcntl || true \
&& rm -rf /usr/local/lib/php/doc/pcntl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/pcre || true \
&& rm -rf /usr/local/lib/php/doc/pcre || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/pdo || true \
&& rm -rf /usr/local/lib/php/doc/pdo || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
\
&& rm -rf /usr/local/lib/php/test/pdo_dblib || true \
&& rm -rf /usr/local/lib/php/doc/pdo_dblib || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
\
&& rm -rf /usr/local/lib/php/test/pdo_firebird || true \
&& rm -rf /usr/local/lib/php/doc/pdo_firebird || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
\
&& rm -rf /usr/local/lib/php/test/pdo_mysql || true \
&& rm -rf /usr/local/lib/php/doc/pdo_mysql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_sqlite \
\
&& rm -rf /usr/local/lib/php/test/pdo_pgsql || true \
&& rm -rf /usr/local/lib/php/doc/pdo_pgsql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/pdo_sqlite || true \
&& rm -rf /usr/local/lib/php/doc/pdo_sqlite || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) phar \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) posix \
\
&& rm -rf /usr/local/lib/php/test/pgsql || true \
&& rm -rf /usr/local/lib/php/doc/pgsql || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/phar || true \
&& rm -rf /usr/local/lib/php/doc/phar || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/posix || true \
&& rm -rf /usr/local/lib/php/doc/posix || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pspell \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) readline \
\
&& rm -rf /usr/local/lib/php/test/pspell || true \
&& rm -rf /usr/local/lib/php/doc/pspell || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/readline || true \
&& rm -rf /usr/local/lib/php/doc/readline || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
\
&& rm -rf /usr/local/lib/php/test/recode || true \
&& rm -rf /usr/local/lib/php/doc/recode || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install redis \
&& docker-php-ext-enable redis \
&& /usr/local/bin/docker-php-ext-configure session --with-mm \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) session \
\
&& rm -rf /usr/local/lib/php/test/redis || true \
&& rm -rf /usr/local/lib/php/doc/redis || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& pecl install rdkafka \
&& docker-php-ext-enable rdkafka \
\
&& rm -rf /usr/local/lib/php/test/rdkafka || true \
&& rm -rf /usr/local/lib/php/doc/rdkafka || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/session || true \
&& rm -rf /usr/local/lib/php/doc/session || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
&& /usr/local/bin/docker-php-ext-configure simplexml --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) simplexml \
\
&& rm -rf /usr/local/lib/php/test/shmop || true \
&& rm -rf /usr/local/lib/php/doc/shmop || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/simplexml || true \
&& rm -rf /usr/local/lib/php/doc/simplexml || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
\
&& rm -rf /usr/local/lib/php/test/snmp || true \
&& rm -rf /usr/local/lib/php/doc/snmp || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
\
&& rm -rf /usr/local/lib/php/test/soap || true \
&& rm -rf /usr/local/lib/php/doc/soap || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sodium \
\
&& rm -rf /usr/local/lib/php/test/sockets || true \
&& rm -rf /usr/local/lib/php/doc/sockets || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/sodium || true \
&& rm -rf /usr/local/lib/php/doc/sodium || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& git clone -v https://github.com/swoole/swoole-src /tmp/swoole \
&& cd /tmp/swoole \
&& git checkout master \
&& git submodule update --init --recursive \
&& git checkout $(git describe --abbrev=0 --tags) \
&& git submodule update --init --recursive \
&& cd thirdparty/hiredis \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
@@ -232,12 +419,34 @@ RUN set -x \
&& make install \
\
&& docker-php-ext-enable swoole \
&& cd / && rm -rf /tmp/swoole \
\
&& rm -rf /usr/local/lib/php/test/swoole || true \
&& rm -rf /usr/local/lib/php/doc/swoole || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvmsg \
\
&& rm -rf /usr/local/lib/php/test/sysvmsg || true \
&& rm -rf /usr/local/lib/php/doc/sysvmsg || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
\
&& rm -rf /usr/local/lib/php/test/sysvsem || true \
&& rm -rf /usr/local/lib/php/doc/sysvsem || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
\
&& rm -rf /usr/local/lib/php/test/sysvshm || true \
&& rm -rf /usr/local/lib/php/doc/sysvshm || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tokenizer \
\
&& rm -rf /usr/local/lib/php/test/tidy || true \
&& rm -rf /usr/local/lib/php/doc/tidy || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/tokenizer || true \
&& rm -rf /usr/local/lib/php/doc/tokenizer || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& git clone -v https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
&& cd /tmp/uploadprogress \
&& phpize \
@@ -245,41 +454,79 @@ RUN set -x \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
&& docker-php-ext-enable uploadprogress \
&& cd / && rm -rf /tmp/uploadprogress \
\
&& rm -rf /usr/local/lib/php/test/uploadprogress || true \
&& rm -rf /usr/local/lib/php/doc/uploadprogress || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
&& /usr/local/bin/docker-php-ext-configure xml --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xml \
\
&& rm -rf /usr/local/lib/php/test/wddx || true \
&& rm -rf /usr/local/lib/php/doc/wddx || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/xml || true \
&& rm -rf /usr/local/lib/php/doc/xml || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/xmlreader || true \
&& rm -rf /usr/local/lib/php/doc/xmlreader || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \
&& /usr/local/bin/docker-php-ext-configure xmlwriter --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlwriter \
\
&& rm -rf /usr/local/lib/php/test/xmlrpc || true \
&& rm -rf /usr/local/lib/php/doc/xmlrpc || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
\
&& rm -rf /usr/local/lib/php/test/xmlwriter || true \
&& rm -rf /usr/local/lib/php/doc/xmlwriter || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
\
&& rm -rf /usr/local/lib/php/test/xsl || true \
&& rm -rf /usr/local/lib/php/doc/xsl || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
\
&& rm -rf /usr/local/lib/php/test/zip || true \
&& rm -rf /usr/local/lib/php/doc/zip || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& rm -rf /tmp/* \
\
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
${BUILD_DEPS} \
\
\
&& apt-get install --no-install-recommends --no-install-suggests -y \
${RUN_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false ${BUILD_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests ${RUN_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
&& update-ca-certificates \
&& sh -c "find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true"
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find "$(php -r 'echo ini_get("extension_dir");')" -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
###
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.3' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
RUN set -x \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini \
\
&& php -m | grep -oiE '^apcu$' \
&& php-fpm -m | grep -oiE '^apcu$' \
&& php -m | grep -oiE '^bcmath$' \
@@ -302,6 +549,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^exif$' \
&& php -m | grep -oiE '^fileinfo$' \
&& php-fpm -m | grep -oiE '^fileinfo$' \
&& php -m | grep -oiE '^filter$' \
&& php-fpm -m | grep -oiE '^filter$' \
&& php -m | grep -oiE '^ftp$' \
&& php-fpm -m | grep -oiE '^ftp$' \
&& php -m | grep -oiE '^gd$' \
@@ -328,6 +577,10 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^json$' \
&& php -m | grep -oiE '^ldap$' \
&& php-fpm -m | grep -oiE '^ldap$' \
&& php -m | grep -oiE '^libxml$' \
&& php-fpm -m | grep -oiE '^libxml$' \
&& php -m | grep -oiE '^mbstring$' \
&& php-fpm -m | grep -oiE '^mbstring$' \
&& php -m | grep -oiE '^mcrypt$' \
&& php-fpm -m | grep -oiE '^mcrypt$' \
&& php -m | grep -oiE '^memcached$' \
@@ -336,10 +589,16 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^mongodb$' \
&& php -m | grep -oiE '^mysqli$' \
&& php-fpm -m | grep -oiE '^mysqli$' \
&& php -m | grep -oiE '^mysqlnd$' \
&& php-fpm -m | grep -oiE '^mysqlnd$' \
&& php -m | grep -oiE '^Zend Opcache$' \
&& php-fpm -m | grep -oiE '^Zend Opcache$' \
&& php -m | grep -oiE '^openssl$' \
&& php-fpm -m | grep -oiE '^openssl$' \
&& php -m | grep -oiE '^pcntl$' \
&& php-fpm -m | grep -oiE '^pcntl$' \
&& php -m | grep -oiE '^pcre$' \
&& php-fpm -m | grep -oiE '^pcre$' \
&& php -m | grep -oiE '^pdo$' \
&& php-fpm -m | grep -oiE '^pdo$' \
&& php -m | grep -oiE '^pdo_dblib$' \
@@ -366,6 +625,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^recode$' \
&& php -m | grep -oiE '^redis$' \
&& php-fpm -m | grep -oiE '^redis$' \
&& php -m | grep -oiE '^rdkafka$' \
&& php-fpm -m | grep -oiE '^rdkafka$' \
&& php -m | grep -oiE '^session$' \
&& php-fpm -m | grep -oiE '^session$' \
&& php -m | grep -oiE '^shmop$' \
@@ -398,6 +659,8 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^wddx$' \
&& php -m | grep -oiE '^xml$' \
&& php-fpm -m | grep -oiE '^xml$' \
&& php -m | grep -oiE '^xmlreader$' \
&& php-fpm -m | grep -oiE '^xmlreader$' \
&& php -m | grep -oiE '^xmlrpc$' \
&& php-fpm -m | grep -oiE '^xmlrpc$' \
&& php -m | grep -oiE '^xmlwriter$' \

View File

@@ -18,20 +18,25 @@ LABEL \
### Install
###
RUN set -x \
&& apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
locales-all \
postfix \
postfix-pcre \
rsyslog \
socat \
supervisor \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
&& rm -rf /etc/supervisor* \
&& mkdir -p /etc/supervisor/conf.d \
&& mkdir -p /var/log/supervisor
&& mkdir -p /var/log/supervisor \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
@@ -39,10 +44,20 @@ RUN set -x \
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.2' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
###

View File

@@ -18,20 +18,25 @@ LABEL \
### Install
###
RUN set -x \
&& apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
locales-all \
postfix \
postfix-pcre \
rsyslog \
socat \
supervisor \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
&& rm -rf /etc/supervisor* \
&& mkdir -p /etc/supervisor/conf.d \
&& mkdir -p /var/log/supervisor
&& mkdir -p /var/log/supervisor \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
@@ -39,10 +44,20 @@ RUN set -x \
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.3' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
###

View File

@@ -18,20 +18,25 @@ LABEL \
### Install
###
RUN set -x \
&& apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
locales-all \
postfix \
postfix-pcre \
rsyslog \
socat \
supervisor \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
&& rm -rf /etc/supervisor* \
&& mkdir -p /etc/supervisor/conf.d \
&& mkdir -p /var/log/supervisor
&& mkdir -p /var/log/supervisor \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
@@ -39,10 +44,20 @@ RUN set -x \
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.4' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
###

View File

@@ -18,20 +18,25 @@ LABEL \
### Install
###
RUN set -x \
&& apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
locales-all \
postfix \
postfix-pcre \
rsyslog \
socat \
supervisor \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
&& rm -rf /etc/supervisor* \
&& mkdir -p /etc/supervisor/conf.d \
&& mkdir -p /var/log/supervisor
&& mkdir -p /var/log/supervisor \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
@@ -39,10 +44,20 @@ RUN set -x \
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.5' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
###

View File

@@ -18,20 +18,25 @@ LABEL \
### Install
###
RUN set -x \
&& apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
locales-all \
postfix \
postfix-pcre \
rsyslog \
socat \
supervisor \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
&& rm -rf /etc/supervisor* \
&& mkdir -p /etc/supervisor/conf.d \
&& mkdir -p /var/log/supervisor
&& mkdir -p /var/log/supervisor \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
@@ -39,10 +44,20 @@ RUN set -x \
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.6' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
###

View File

@@ -18,20 +18,25 @@ LABEL \
### Install
###
RUN set -x \
&& apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
locales-all \
postfix \
postfix-pcre \
rsyslog \
socat \
supervisor \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
&& rm -rf /etc/supervisor* \
&& mkdir -p /etc/supervisor/conf.d \
&& mkdir -p /var/log/supervisor
&& mkdir -p /var/log/supervisor \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
@@ -39,10 +44,20 @@ RUN set -x \
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.0' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
###

View File

@@ -18,20 +18,25 @@ LABEL \
### Install
###
RUN set -x \
&& apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
locales-all \
postfix \
postfix-pcre \
rsyslog \
socat \
supervisor \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
&& rm -rf /etc/supervisor* \
&& mkdir -p /etc/supervisor/conf.d \
&& mkdir -p /var/log/supervisor
&& mkdir -p /var/log/supervisor \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
@@ -39,10 +44,20 @@ RUN set -x \
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.1' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
###

View File

@@ -18,20 +18,25 @@ LABEL \
### Install
###
RUN set -x \
&& apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
locales-all \
postfix \
postfix-pcre \
rsyslog \
socat \
supervisor \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
&& rm -rf /etc/supervisor* \
&& mkdir -p /etc/supervisor/conf.d \
&& mkdir -p /var/log/supervisor
&& mkdir -p /var/log/supervisor \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
@@ -39,10 +44,20 @@ RUN set -x \
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.2' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
###

View File

@@ -18,20 +18,25 @@ LABEL \
### Install
###
RUN set -x \
&& apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
locales-all \
postfix \
postfix-pcre \
rsyslog \
socat \
supervisor \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
&& rm -rf /etc/supervisor* \
&& mkdir -p /etc/supervisor/conf.d \
&& mkdir -p /var/log/supervisor
&& mkdir -p /var/log/supervisor \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
@@ -39,10 +44,20 @@ RUN set -x \
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.3' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
###

View File

@@ -24,8 +24,9 @@ ENV BASH_PROFILE=".bashrc"
### Install Tools
###
RUN set -x \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
dirmngr \
gnupg \
&& echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
@@ -39,8 +40,8 @@ RUN set -x \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
ack-grep \
aspell \
autoconf \
@@ -57,10 +58,12 @@ RUN set -x \
git \
git-flow \
git-svn \
graphviz \
hostname \
htop \
imagemagick \
iputils-ping \
jq \
less \
libc-dev \
libffi-dev\
@@ -97,17 +100,27 @@ RUN set -x \
w3m \
wget \
whois \
wkhtmltopdf \
xz-utils \
yarn \
zsh \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
&& rm -rf /var/lib/apt/lists/*
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
# Get newer pip version
&& pip install --upgrade pip \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false python-pip \
&& rm -rf /var/lib/apt/lists/* \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
RUN set -x \
# ansible
&& pip install --upgrade setuptools \
&& pip install ansible \
&& /usr/local/bin/pip install --no-cache-dir --upgrade setuptools \
&& /usr/local/bin/pip install --no-cache-dir ansible \
\
# awesomeci
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
@@ -133,7 +146,9 @@ RUN set -x \
&& cd / && rm -rf /tmp/gitflow \
\
# grunt
&& npm install -g grunt grunt-cli \
&& npm install -g grunt \
&& npm install -g grunt-cli \
\
# linkcheck
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
&& chmod +x /usr/local/bin/linkcheck \
@@ -188,11 +203,17 @@ RUN set -x \
# sass
&& gem install sass \
# webpack
&& npm install -g webpack webpack-cli \
&& npm install -g webpack \
&& npm install -g webpack-cli \
\
# yamllint
&& apt update && apt install --no-install-recommends --no-install-suggests -y libpython-dev python-setuptools libyaml-dev \
&& pip install yamllint \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps libpython-dev python-setuptools libyaml-dev && rm -rf /var/lib/apt/lists/* \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests libpython-dev python-setuptools libyaml-dev \
\
&& /usr/local/bin/pip install --no-cache-dir yamllint \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false libpython-dev python-setuptools libyaml-dev \
&& rm -rf /var/lib/apt/lists/* \
\
# cleanup
&& rm -rf /home/${MY_USER}/.*json \
&& rm -rf /home/${MY_USER}/.cache \
@@ -214,7 +235,12 @@ RUN set -x \
\
&& rm -rf /tmp/* \
\
&& true
\
&& rm -rf /usr/local/src/composer/cache/* || true \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
###
@@ -241,10 +267,20 @@ RUN \
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.2' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
RUN set -x \
&& ansible --version | grep -E '^ansible [.0-9]+$' \

View File

@@ -24,8 +24,9 @@ ENV BASH_PROFILE=".bashrc"
### Install Tools
###
RUN set -x \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
dirmngr \
gnupg \
&& echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
@@ -39,8 +40,8 @@ RUN set -x \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
ack-grep \
aspell \
autoconf \
@@ -57,10 +58,12 @@ RUN set -x \
git \
git-flow \
git-svn \
graphviz \
hostname \
htop \
imagemagick \
iputils-ping \
jq \
less \
libc-dev \
libffi-dev\
@@ -97,19 +100,29 @@ RUN set -x \
w3m \
wget \
whois \
wkhtmltopdf \
xz-utils \
yarn \
zsh \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
&& rm -rf /var/lib/apt/lists/*
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
# Get newer pip version
&& pip install --upgrade pip \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false python-pip \
&& rm -rf /var/lib/apt/lists/* \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
RUN set -x \
# composer
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
# ansible
&& pip install --upgrade setuptools \
&& pip install ansible \
&& /usr/local/bin/pip install --no-cache-dir --upgrade setuptools \
&& /usr/local/bin/pip install --no-cache-dir ansible \
\
# awesomeci
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
@@ -129,22 +142,21 @@ RUN set -x \
&& npm install -g gulp \
\
# codeception
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception --dev \
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
\
# drush
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
&& cd /usr/local/src/drush \
# drush7
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush7 \
&& cd /usr/local/src/drush7 \
&& git checkout 7.4.0 \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush && composer install --no-interaction --no-progress' \
&& ln -s /usr/local/src/drush/drush /usr/local/bin/drush \
&& rm -rf /usr/local/src/drush/.git \
&& rm -rf /usr/local/src/drush/docs \
&& rm -rf /usr/local/src/drush/examples \
&& rm -rf /usr/local/src/drush/misc \
&& rm -rf /usr/local/src/drush/tests \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
&& rm -rf /usr/local/src/drush7/.git \
&& rm -rf /usr/local/src/drush7/docs \
&& rm -rf /usr/local/src/drush7/examples \
&& rm -rf /usr/local/src/drush7/misc \
\
# gitflow
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
@@ -153,7 +165,9 @@ RUN set -x \
&& cd / && rm -rf /tmp/gitflow \
\
# grunt
&& npm install -g grunt grunt-cli \
&& npm install -g grunt \
&& npm install -g grunt-cli \
\
# linkcheck
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
&& chmod +x /usr/local/bin/linkcheck \
@@ -223,14 +237,20 @@ RUN set -x \
# sass
&& gem install sass \
# webpack
&& npm install -g webpack webpack-cli \
&& npm install -g webpack \
&& npm install -g webpack-cli \
\
# wpcli
&& curl https://github.com/wp-cli/wp-cli/releases/download/v1.5.1/wp-cli-1.5.1.phar -L -o /usr/local/bin/wp \
&& chmod +x /usr/local/bin/wp \
# yamllint
&& apt update && apt install --no-install-recommends --no-install-suggests -y libpython-dev python-setuptools libyaml-dev \
&& pip install yamllint \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps libpython-dev python-setuptools libyaml-dev && rm -rf /var/lib/apt/lists/* \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests libpython-dev python-setuptools libyaml-dev \
\
&& /usr/local/bin/pip install --no-cache-dir yamllint \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false libpython-dev python-setuptools libyaml-dev \
&& rm -rf /var/lib/apt/lists/* \
\
# cleanup
&& rm -rf /home/${MY_USER}/.*json \
&& rm -rf /home/${MY_USER}/.cache \
@@ -252,7 +272,12 @@ RUN set -x \
\
&& rm -rf /tmp/* \
\
&& true
\
&& rm -rf /usr/local/src/composer/cache/* || true \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
###
@@ -279,10 +304,20 @@ RUN \
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.3' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
RUN set -x \
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
@@ -295,7 +330,7 @@ RUN set -x \
&& gulp --version | grep -E '[.0-9]+' \
\
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
&& drush --version | grep -E '[.0-9]+' \
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
&& git-flow version | grep -E '[.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \

View File

@@ -24,8 +24,9 @@ ENV BASH_PROFILE=".bashrc"
### Install Tools
###
RUN set -x \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
dirmngr \
gnupg \
&& echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
@@ -39,8 +40,8 @@ RUN set -x \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
ack-grep \
aspell \
autoconf \
@@ -57,10 +58,12 @@ RUN set -x \
git \
git-flow \
git-svn \
graphviz \
hostname \
htop \
imagemagick \
iputils-ping \
jq \
less \
libc-dev \
libffi-dev\
@@ -97,19 +100,29 @@ RUN set -x \
w3m \
wget \
whois \
wkhtmltopdf \
xz-utils \
yarn \
zsh \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
&& rm -rf /var/lib/apt/lists/*
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
# Get newer pip version
&& pip install --upgrade pip \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false python-pip \
&& rm -rf /var/lib/apt/lists/* \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
RUN set -x \
# composer
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
# ansible
&& pip install --upgrade setuptools \
&& pip install ansible \
&& /usr/local/bin/pip install --no-cache-dir --upgrade setuptools \
&& /usr/local/bin/pip install --no-cache-dir ansible \
\
# awesomeci
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
@@ -129,22 +142,37 @@ RUN set -x \
&& npm install -g gulp \
\
# codeception
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception --dev \
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
\
# drush
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
&& cd /usr/local/src/drush \
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | sed 's/^.*tags\///g' | grep ^8 | tail -1) \
# deployer
&& curl https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
&& chmod +x /usr/local/bin/dep \
# drush7
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush7 \
&& cd /usr/local/src/drush7 \
&& git checkout 7.4.0 \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush && composer install --no-interaction --no-progress' \
&& ln -s /usr/local/src/drush/drush /usr/local/bin/drush \
&& rm -rf /usr/local/src/drush/.git \
&& rm -rf /usr/local/src/drush/docs \
&& rm -rf /usr/local/src/drush/examples \
&& rm -rf /usr/local/src/drush/misc \
&& rm -rf /usr/local/src/drush/tests \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
&& rm -rf /usr/local/src/drush7/.git \
&& rm -rf /usr/local/src/drush7/docs \
&& rm -rf /usr/local/src/drush7/examples \
&& rm -rf /usr/local/src/drush7/misc \
\
# drush8
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush8 \
&& cd /usr/local/src/drush8 \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
&& rm -rf /usr/local/src/drush8/.git \
&& rm -rf /usr/local/src/drush8/docs \
&& rm -rf /usr/local/src/drush8/examples \
&& rm -rf /usr/local/src/drush8/misc \
\
# gitflow
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
@@ -153,14 +181,16 @@ RUN set -x \
&& cd / && rm -rf /tmp/gitflow \
\
# grunt
&& npm install -g grunt grunt-cli \
&& npm install -g grunt \
&& npm install -g grunt-cli \
\
# laravel
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
&& cd /usr/local/src/laravel-installer \
&& git checkout v1.3.7 \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install' \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
\
@@ -236,14 +266,20 @@ RUN set -x \
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
&& chmod +x /usr/local/bin/symfony \
# webpack
&& npm install -g webpack webpack-cli \
&& npm install -g webpack \
&& npm install -g webpack-cli \
\
# wpcli
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
&& chmod +x /usr/local/bin/wp \
# yamllint
&& apt update && apt install --no-install-recommends --no-install-suggests -y libpython-dev python-setuptools libyaml-dev \
&& pip install yamllint \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps libpython-dev python-setuptools libyaml-dev && rm -rf /var/lib/apt/lists/* \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests libpython-dev python-setuptools libyaml-dev \
\
&& /usr/local/bin/pip install --no-cache-dir yamllint \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false libpython-dev python-setuptools libyaml-dev \
&& rm -rf /var/lib/apt/lists/* \
\
# cleanup
&& rm -rf /home/${MY_USER}/.*json \
&& rm -rf /home/${MY_USER}/.cache \
@@ -265,7 +301,12 @@ RUN set -x \
\
&& rm -rf /tmp/* \
\
&& true
\
&& rm -rf /usr/local/src/composer/cache/* || true \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
###
@@ -292,10 +333,20 @@ RUN \
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.4' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
RUN set -x \
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
@@ -308,7 +359,9 @@ RUN set -x \
&& gulp --version | grep -E '[.0-9]+' \
\
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
&& drush --version | grep -E '[.0-9]+' \
&& dep --version 2>/dev/null | grep -E 'Deployer\s*[.0-9]+' \
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
&& git-flow version | grep -E '[.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \
&& laravel --version | grep -E '(Installer|version)\s*[.0-9]+' \

View File

@@ -24,8 +24,9 @@ ENV BASH_PROFILE=".bashrc"
### Install Tools
###
RUN set -x \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
dirmngr \
gnupg \
&& echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
@@ -39,8 +40,8 @@ RUN set -x \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
ack-grep \
aspell \
autoconf \
@@ -57,10 +58,12 @@ RUN set -x \
git \
git-flow \
git-svn \
graphviz \
hostname \
htop \
imagemagick \
iputils-ping \
jq \
less \
libc-dev \
libffi-dev\
@@ -97,19 +100,29 @@ RUN set -x \
w3m \
wget \
whois \
wkhtmltopdf \
xz-utils \
yarn \
zsh \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
&& rm -rf /var/lib/apt/lists/*
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
# Get newer pip version
&& pip install --upgrade pip \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false python-pip \
&& rm -rf /var/lib/apt/lists/* \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
RUN set -x \
# composer
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
# ansible
&& pip install --upgrade setuptools \
&& pip install ansible \
&& /usr/local/bin/pip install --no-cache-dir --upgrade setuptools \
&& /usr/local/bin/pip install --no-cache-dir ansible \
\
# asgardcms
&& COMPOSER_HOME="/usr/local/src/composer" composer global require asgardcms/asgardcms-installer \
@@ -133,22 +146,37 @@ RUN set -x \
&& npm install -g gulp \
\
# codeception
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception --dev \
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
\
# drush
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
&& cd /usr/local/src/drush \
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | sed 's/^.*tags\///g' | grep ^8 | tail -1) \
# deployer
&& curl https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
&& chmod +x /usr/local/bin/dep \
# drush7
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush7 \
&& cd /usr/local/src/drush7 \
&& git checkout 7.4.0 \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush && composer install --no-interaction --no-progress' \
&& ln -s /usr/local/src/drush/drush /usr/local/bin/drush \
&& rm -rf /usr/local/src/drush/.git \
&& rm -rf /usr/local/src/drush/docs \
&& rm -rf /usr/local/src/drush/examples \
&& rm -rf /usr/local/src/drush/misc \
&& rm -rf /usr/local/src/drush/tests \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
&& rm -rf /usr/local/src/drush7/.git \
&& rm -rf /usr/local/src/drush7/docs \
&& rm -rf /usr/local/src/drush7/examples \
&& rm -rf /usr/local/src/drush7/misc \
\
# drush8
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush8 \
&& cd /usr/local/src/drush8 \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
&& rm -rf /usr/local/src/drush8/.git \
&& rm -rf /usr/local/src/drush8/docs \
&& rm -rf /usr/local/src/drush8/examples \
&& rm -rf /usr/local/src/drush8/misc \
\
# drupalconsole
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
@@ -160,14 +188,16 @@ RUN set -x \
&& cd / && rm -rf /tmp/gitflow \
\
# grunt
&& npm install -g grunt grunt-cli \
&& npm install -g grunt \
&& npm install -g grunt-cli \
\
# laravel
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
&& cd /usr/local/src/laravel-installer \
&& git checkout v2.0.0 \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install' \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
\
@@ -247,14 +277,20 @@ RUN set -x \
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
&& chmod +x /usr/local/bin/symfony \
# webpack
&& npm install -g webpack webpack-cli \
&& npm install -g webpack \
&& npm install -g webpack-cli \
\
# wpcli
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
&& chmod +x /usr/local/bin/wp \
# yamllint
&& apt update && apt install --no-install-recommends --no-install-suggests -y libpython-dev python-setuptools libyaml-dev \
&& pip install yamllint \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps libpython-dev python-setuptools libyaml-dev && rm -rf /var/lib/apt/lists/* \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests libpython-dev python-setuptools libyaml-dev \
\
&& /usr/local/bin/pip install --no-cache-dir yamllint \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false libpython-dev python-setuptools libyaml-dev \
&& rm -rf /var/lib/apt/lists/* \
\
# cleanup
&& rm -rf /home/${MY_USER}/.*json \
&& rm -rf /home/${MY_USER}/.cache \
@@ -276,7 +312,12 @@ RUN set -x \
\
&& rm -rf /tmp/* \
\
&& true
\
&& rm -rf /usr/local/src/composer/cache/* || true \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
###
@@ -303,10 +344,20 @@ RUN \
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.5' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
RUN set -x \
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
@@ -320,7 +371,9 @@ RUN set -x \
&& gulp --version | grep -E '[.0-9]+' \
\
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
&& drush --version | grep -E '[.0-9]+' \
&& dep --version 2>/dev/null | grep -E 'Deployer\s*[.0-9]+' \
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
&& git-flow version | grep -E '[.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \

View File

@@ -24,8 +24,9 @@ ENV BASH_PROFILE=".bashrc"
### Install Tools
###
RUN set -x \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
dirmngr \
gnupg \
&& echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
@@ -39,8 +40,8 @@ RUN set -x \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
ack-grep \
aspell \
autoconf \
@@ -57,10 +58,12 @@ RUN set -x \
git \
git-flow \
git-svn \
graphviz \
hostname \
htop \
imagemagick \
iputils-ping \
jq \
less \
libc-dev \
libffi-dev\
@@ -97,19 +100,29 @@ RUN set -x \
w3m \
wget \
whois \
wkhtmltopdf \
xz-utils \
yarn \
zsh \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
&& rm -rf /var/lib/apt/lists/*
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
# Get newer pip version
&& pip install --upgrade pip \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false python-pip \
&& rm -rf /var/lib/apt/lists/* \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
RUN set -x \
# composer
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
# ansible
&& pip install --upgrade setuptools \
&& pip install ansible \
&& /usr/local/bin/pip install --no-cache-dir --upgrade setuptools \
&& /usr/local/bin/pip install --no-cache-dir ansible \
\
# asgardcms
&& COMPOSER_HOME="/usr/local/src/composer" composer global require asgardcms/asgardcms-installer \
@@ -133,22 +146,50 @@ RUN set -x \
&& npm install -g gulp \
\
# codeception
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception --dev \
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
\
# drush
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
&& cd /usr/local/src/drush \
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \
# deployer
&& curl https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
&& chmod +x /usr/local/bin/dep \
# drush7
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush7 \
&& cd /usr/local/src/drush7 \
&& git checkout 7.4.0 \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush && composer install --no-interaction --no-progress' \
&& ln -s /usr/local/src/drush/drush /usr/local/bin/drush \
&& rm -rf /usr/local/src/drush/.git \
&& rm -rf /usr/local/src/drush/docs \
&& rm -rf /usr/local/src/drush/examples \
&& rm -rf /usr/local/src/drush/misc \
&& rm -rf /usr/local/src/drush/tests \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
&& rm -rf /usr/local/src/drush7/.git \
&& rm -rf /usr/local/src/drush7/docs \
&& rm -rf /usr/local/src/drush7/examples \
&& rm -rf /usr/local/src/drush7/misc \
\
# drush8
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush8 \
&& cd /usr/local/src/drush8 \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
&& rm -rf /usr/local/src/drush8/.git \
&& rm -rf /usr/local/src/drush8/docs \
&& rm -rf /usr/local/src/drush8/examples \
&& rm -rf /usr/local/src/drush8/misc \
\
# drush9
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush9 \
&& cd /usr/local/src/drush9 \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \
&& rm -rf /usr/local/src/drush9/.git \
&& rm -rf /usr/local/src/drush9/docs \
&& rm -rf /usr/local/src/drush9/examples \
&& rm -rf /usr/local/src/drush9/misc \
\
# drupalconsole
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
@@ -160,14 +201,16 @@ RUN set -x \
&& cd / && rm -rf /tmp/gitflow \
\
# grunt
&& npm install -g grunt grunt-cli \
&& npm install -g grunt \
&& npm install -g grunt-cli \
\
# laravel
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
&& cd /usr/local/src/laravel-installer \
&& git checkout v2.0.0 \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install' \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
\
@@ -247,14 +290,20 @@ RUN set -x \
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
&& chmod +x /usr/local/bin/symfony \
# webpack
&& npm install -g webpack webpack-cli \
&& npm install -g webpack \
&& npm install -g webpack-cli \
\
# wpcli
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
&& chmod +x /usr/local/bin/wp \
# yamllint
&& apt update && apt install --no-install-recommends --no-install-suggests -y libpython-dev python-setuptools libyaml-dev \
&& pip install yamllint \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps libpython-dev python-setuptools libyaml-dev && rm -rf /var/lib/apt/lists/* \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests libpython-dev python-setuptools libyaml-dev \
\
&& /usr/local/bin/pip install --no-cache-dir yamllint \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false libpython-dev python-setuptools libyaml-dev \
&& rm -rf /var/lib/apt/lists/* \
\
# cleanup
&& rm -rf /home/${MY_USER}/.*json \
&& rm -rf /home/${MY_USER}/.cache \
@@ -276,7 +325,12 @@ RUN set -x \
\
&& rm -rf /tmp/* \
\
&& true
\
&& rm -rf /usr/local/src/composer/cache/* || true \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
###
@@ -303,10 +357,20 @@ RUN \
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.6' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
RUN set -x \
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
@@ -320,7 +384,10 @@ RUN set -x \
&& gulp --version | grep -E '[.0-9]+' \
\
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
&& drush --version | grep -E '[.0-9]+' \
&& dep --version 2>/dev/null | grep -E 'Deployer\s*[.0-9]+' \
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
&& drush9 --version | grep -E '9[.0-9]+\s*$' \
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
&& git-flow version | grep -E '[.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \

View File

@@ -24,8 +24,9 @@ ENV BASH_PROFILE=".bashrc"
### Install Tools
###
RUN set -x \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
dirmngr \
gnupg \
&& echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
@@ -39,8 +40,8 @@ RUN set -x \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
ack-grep \
aspell \
autoconf \
@@ -57,10 +58,12 @@ RUN set -x \
git \
git-flow \
git-svn \
graphviz \
hostname \
htop \
imagemagick \
iputils-ping \
jq \
less \
libc-dev \
libffi-dev\
@@ -97,19 +100,29 @@ RUN set -x \
w3m \
wget \
whois \
wkhtmltopdf \
xz-utils \
yarn \
zsh \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
&& rm -rf /var/lib/apt/lists/*
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
# Get newer pip version
&& pip install --upgrade pip \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false python-pip \
&& rm -rf /var/lib/apt/lists/* \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
RUN set -x \
# composer
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
# ansible
&& pip install --upgrade setuptools \
&& pip install ansible \
&& /usr/local/bin/pip install --no-cache-dir --upgrade setuptools \
&& /usr/local/bin/pip install --no-cache-dir ansible \
\
# asgardcms
&& COMPOSER_HOME="/usr/local/src/composer" composer global require asgardcms/asgardcms-installer \
@@ -133,22 +146,50 @@ RUN set -x \
&& npm install -g gulp \
\
# codeception
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception --dev \
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
\
# drush
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
&& cd /usr/local/src/drush \
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \
# deployer
&& curl https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
&& chmod +x /usr/local/bin/dep \
# drush7
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush7 \
&& cd /usr/local/src/drush7 \
&& git checkout 7.4.0 \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush && composer install --no-interaction --no-progress' \
&& ln -s /usr/local/src/drush/drush /usr/local/bin/drush \
&& rm -rf /usr/local/src/drush/.git \
&& rm -rf /usr/local/src/drush/docs \
&& rm -rf /usr/local/src/drush/examples \
&& rm -rf /usr/local/src/drush/misc \
&& rm -rf /usr/local/src/drush/tests \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
&& rm -rf /usr/local/src/drush7/.git \
&& rm -rf /usr/local/src/drush7/docs \
&& rm -rf /usr/local/src/drush7/examples \
&& rm -rf /usr/local/src/drush7/misc \
\
# drush8
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush8 \
&& cd /usr/local/src/drush8 \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
&& rm -rf /usr/local/src/drush8/.git \
&& rm -rf /usr/local/src/drush8/docs \
&& rm -rf /usr/local/src/drush8/examples \
&& rm -rf /usr/local/src/drush8/misc \
\
# drush9
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush9 \
&& cd /usr/local/src/drush9 \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \
&& rm -rf /usr/local/src/drush9/.git \
&& rm -rf /usr/local/src/drush9/docs \
&& rm -rf /usr/local/src/drush9/examples \
&& rm -rf /usr/local/src/drush9/misc \
\
# drupalconsole
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
@@ -160,14 +201,16 @@ RUN set -x \
&& cd / && rm -rf /tmp/gitflow \
\
# grunt
&& npm install -g grunt grunt-cli \
&& npm install -g grunt \
&& npm install -g grunt-cli \
\
# laravel
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
&& cd /usr/local/src/laravel-installer \
&& git checkout v2.0.0 \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install' \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
\
@@ -247,14 +290,20 @@ RUN set -x \
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
&& chmod +x /usr/local/bin/symfony \
# webpack
&& npm install -g webpack webpack-cli \
&& npm install -g webpack \
&& npm install -g webpack-cli \
\
# wpcli
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
&& chmod +x /usr/local/bin/wp \
# yamllint
&& apt update && apt install --no-install-recommends --no-install-suggests -y libpython-dev python-setuptools libyaml-dev \
&& pip install yamllint \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps libpython-dev python-setuptools libyaml-dev && rm -rf /var/lib/apt/lists/* \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests libpython-dev python-setuptools libyaml-dev \
\
&& /usr/local/bin/pip install --no-cache-dir yamllint \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false libpython-dev python-setuptools libyaml-dev \
&& rm -rf /var/lib/apt/lists/* \
\
# cleanup
&& rm -rf /home/${MY_USER}/.*json \
&& rm -rf /home/${MY_USER}/.cache \
@@ -276,7 +325,12 @@ RUN set -x \
\
&& rm -rf /tmp/* \
\
&& true
\
&& rm -rf /usr/local/src/composer/cache/* || true \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
###
@@ -303,10 +357,20 @@ RUN \
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.0' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
RUN set -x \
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
@@ -320,7 +384,10 @@ RUN set -x \
&& gulp --version | grep -E '[.0-9]+' \
\
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
&& drush --version | grep -E '[.0-9]+' \
&& dep --version 2>/dev/null | grep -E 'Deployer\s*[.0-9]+' \
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
&& drush9 --version | grep -E '9[.0-9]+\s*$' \
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
&& git-flow version | grep -E '[.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \

View File

@@ -24,8 +24,9 @@ ENV BASH_PROFILE=".bashrc"
### Install Tools
###
RUN set -x \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
dirmngr \
gnupg \
&& echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
@@ -39,8 +40,8 @@ RUN set -x \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
ack-grep \
aspell \
autoconf \
@@ -57,10 +58,12 @@ RUN set -x \
git \
git-flow \
git-svn \
graphviz \
hostname \
htop \
imagemagick \
iputils-ping \
jq \
less \
libc-dev \
libffi-dev\
@@ -97,19 +100,29 @@ RUN set -x \
w3m \
wget \
whois \
wkhtmltopdf \
xz-utils \
yarn \
zsh \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
&& rm -rf /var/lib/apt/lists/*
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
# Get newer pip version
&& pip install --upgrade pip \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false python-pip \
&& rm -rf /var/lib/apt/lists/* \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
RUN set -x \
# composer
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
# ansible
&& pip install --upgrade setuptools \
&& pip install ansible \
&& /usr/local/bin/pip install --no-cache-dir --upgrade setuptools \
&& /usr/local/bin/pip install --no-cache-dir ansible \
\
# asgardcms
&& COMPOSER_HOME="/usr/local/src/composer" composer global require asgardcms/asgardcms-installer \
@@ -133,22 +146,50 @@ RUN set -x \
&& npm install -g gulp \
\
# codeception
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception --dev \
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
\
# drush
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
&& cd /usr/local/src/drush \
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \
# deployer
&& curl https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
&& chmod +x /usr/local/bin/dep \
# drush7
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush7 \
&& cd /usr/local/src/drush7 \
&& git checkout 7.4.0 \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush && composer install --no-interaction --no-progress' \
&& ln -s /usr/local/src/drush/drush /usr/local/bin/drush \
&& rm -rf /usr/local/src/drush/.git \
&& rm -rf /usr/local/src/drush/docs \
&& rm -rf /usr/local/src/drush/examples \
&& rm -rf /usr/local/src/drush/misc \
&& rm -rf /usr/local/src/drush/tests \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
&& rm -rf /usr/local/src/drush7/.git \
&& rm -rf /usr/local/src/drush7/docs \
&& rm -rf /usr/local/src/drush7/examples \
&& rm -rf /usr/local/src/drush7/misc \
\
# drush8
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush8 \
&& cd /usr/local/src/drush8 \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
&& rm -rf /usr/local/src/drush8/.git \
&& rm -rf /usr/local/src/drush8/docs \
&& rm -rf /usr/local/src/drush8/examples \
&& rm -rf /usr/local/src/drush8/misc \
\
# drush9
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush9 \
&& cd /usr/local/src/drush9 \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \
&& rm -rf /usr/local/src/drush9/.git \
&& rm -rf /usr/local/src/drush9/docs \
&& rm -rf /usr/local/src/drush9/examples \
&& rm -rf /usr/local/src/drush9/misc \
\
# drupalconsole
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
@@ -160,14 +201,16 @@ RUN set -x \
&& cd / && rm -rf /tmp/gitflow \
\
# grunt
&& npm install -g grunt grunt-cli \
&& npm install -g grunt \
&& npm install -g grunt-cli \
\
# laravel
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
&& cd /usr/local/src/laravel-installer \
&& git checkout $(git describe --abbrev=0 --tags) \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install' \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
\
@@ -247,14 +290,20 @@ RUN set -x \
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
&& chmod +x /usr/local/bin/symfony \
# webpack
&& npm install -g webpack webpack-cli \
&& npm install -g webpack \
&& npm install -g webpack-cli \
\
# wpcli
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
&& chmod +x /usr/local/bin/wp \
# yamllint
&& apt update && apt install --no-install-recommends --no-install-suggests -y libpython-dev python-setuptools libyaml-dev \
&& pip install yamllint \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps libpython-dev python-setuptools libyaml-dev && rm -rf /var/lib/apt/lists/* \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests libpython-dev python-setuptools libyaml-dev \
\
&& /usr/local/bin/pip install --no-cache-dir yamllint \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false libpython-dev python-setuptools libyaml-dev \
&& rm -rf /var/lib/apt/lists/* \
\
# cleanup
&& rm -rf /home/${MY_USER}/.*json \
&& rm -rf /home/${MY_USER}/.cache \
@@ -276,7 +325,12 @@ RUN set -x \
\
&& rm -rf /tmp/* \
\
&& true
\
&& rm -rf /usr/local/src/composer/cache/* || true \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
###
@@ -303,10 +357,20 @@ RUN \
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.1' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
RUN set -x \
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
@@ -320,7 +384,10 @@ RUN set -x \
&& gulp --version | grep -E '[.0-9]+' \
\
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
&& drush --version | grep -E '[.0-9]+' \
&& dep --version 2>/dev/null | grep -E 'Deployer\s*[.0-9]+' \
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
&& drush9 --version | grep -E '9[.0-9]+\s*$' \
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
&& git-flow version | grep -E '[.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \

View File

@@ -24,8 +24,9 @@ ENV BASH_PROFILE=".bashrc"
### Install Tools
###
RUN set -x \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
dirmngr \
gnupg \
&& echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
@@ -39,8 +40,8 @@ RUN set -x \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
ack-grep \
aspell \
autoconf \
@@ -57,10 +58,12 @@ RUN set -x \
git \
git-flow \
git-svn \
graphviz \
hostname \
htop \
imagemagick \
iputils-ping \
jq \
less \
libc-dev \
libffi-dev\
@@ -97,19 +100,29 @@ RUN set -x \
w3m \
wget \
whois \
wkhtmltopdf \
xz-utils \
yarn \
zsh \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
&& rm -rf /var/lib/apt/lists/*
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
# Get newer pip version
&& pip install --upgrade pip \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false python-pip \
&& rm -rf /var/lib/apt/lists/* \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
RUN set -x \
# composer
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
# ansible
&& pip install --upgrade setuptools \
&& pip install ansible \
&& /usr/local/bin/pip install --no-cache-dir --upgrade setuptools \
&& /usr/local/bin/pip install --no-cache-dir ansible \
\
# asgardcms
&& COMPOSER_HOME="/usr/local/src/composer" composer global require asgardcms/asgardcms-installer \
@@ -133,22 +146,50 @@ RUN set -x \
&& npm install -g gulp \
\
# codeception
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception --dev \
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
\
# drush
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
&& cd /usr/local/src/drush \
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \
# deployer
&& curl https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
&& chmod +x /usr/local/bin/dep \
# drush7
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush7 \
&& cd /usr/local/src/drush7 \
&& git checkout 7.4.0 \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush && composer install --no-interaction --no-progress' \
&& ln -s /usr/local/src/drush/drush /usr/local/bin/drush \
&& rm -rf /usr/local/src/drush/.git \
&& rm -rf /usr/local/src/drush/docs \
&& rm -rf /usr/local/src/drush/examples \
&& rm -rf /usr/local/src/drush/misc \
&& rm -rf /usr/local/src/drush/tests \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
&& rm -rf /usr/local/src/drush7/.git \
&& rm -rf /usr/local/src/drush7/docs \
&& rm -rf /usr/local/src/drush7/examples \
&& rm -rf /usr/local/src/drush7/misc \
\
# drush8
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush8 \
&& cd /usr/local/src/drush8 \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
&& rm -rf /usr/local/src/drush8/.git \
&& rm -rf /usr/local/src/drush8/docs \
&& rm -rf /usr/local/src/drush8/examples \
&& rm -rf /usr/local/src/drush8/misc \
\
# drush9
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush9 \
&& cd /usr/local/src/drush9 \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \
&& rm -rf /usr/local/src/drush9/.git \
&& rm -rf /usr/local/src/drush9/docs \
&& rm -rf /usr/local/src/drush9/examples \
&& rm -rf /usr/local/src/drush9/misc \
\
# drupalconsole
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
@@ -160,14 +201,16 @@ RUN set -x \
&& cd / && rm -rf /tmp/gitflow \
\
# grunt
&& npm install -g grunt grunt-cli \
&& npm install -g grunt \
&& npm install -g grunt-cli \
\
# laravel
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
&& cd /usr/local/src/laravel-installer \
&& git checkout $(git describe --abbrev=0 --tags) \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install' \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
\
@@ -247,14 +290,20 @@ RUN set -x \
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
&& chmod +x /usr/local/bin/symfony \
# webpack
&& npm install -g webpack webpack-cli \
&& npm install -g webpack \
&& npm install -g webpack-cli \
\
# wpcli
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
&& chmod +x /usr/local/bin/wp \
# yamllint
&& apt update && apt install --no-install-recommends --no-install-suggests -y libpython-dev python-setuptools libyaml-dev \
&& pip install yamllint \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps libpython-dev python-setuptools libyaml-dev && rm -rf /var/lib/apt/lists/* \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests libpython-dev python-setuptools libyaml-dev \
\
&& /usr/local/bin/pip install --no-cache-dir yamllint \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false libpython-dev python-setuptools libyaml-dev \
&& rm -rf /var/lib/apt/lists/* \
\
# cleanup
&& rm -rf /home/${MY_USER}/.*json \
&& rm -rf /home/${MY_USER}/.cache \
@@ -276,7 +325,12 @@ RUN set -x \
\
&& rm -rf /tmp/* \
\
&& true
\
&& rm -rf /usr/local/src/composer/cache/* || true \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
###
@@ -303,10 +357,20 @@ RUN \
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.2' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
RUN set -x \
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
@@ -320,7 +384,10 @@ RUN set -x \
&& gulp --version | grep -E '[.0-9]+' \
\
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
&& drush --version | grep -E '[.0-9]+' \
&& dep --version 2>/dev/null | grep -E 'Deployer\s*[.0-9]+' \
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
&& drush9 --version | grep -E '9[.0-9]+\s*$' \
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
&& git-flow version | grep -E '[.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \

View File

@@ -24,8 +24,9 @@ ENV BASH_PROFILE=".bashrc"
### Install Tools
###
RUN set -x \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
dirmngr \
gnupg \
&& echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
@@ -39,8 +40,8 @@ RUN set -x \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
ack-grep \
aspell \
autoconf \
@@ -57,10 +58,12 @@ RUN set -x \
git \
git-flow \
git-svn \
graphviz \
hostname \
htop \
imagemagick \
iputils-ping \
jq \
less \
libc-dev \
libffi-dev\
@@ -97,19 +100,29 @@ RUN set -x \
w3m \
wget \
whois \
wkhtmltopdf \
xz-utils \
yarn \
zsh \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
&& rm -rf /var/lib/apt/lists/*
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
# Get newer pip version
&& pip install --upgrade pip \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false python-pip \
&& rm -rf /var/lib/apt/lists/* \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
RUN set -x \
# composer
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
# ansible
&& pip install --upgrade setuptools \
&& pip install ansible \
&& /usr/local/bin/pip install --no-cache-dir --upgrade setuptools \
&& /usr/local/bin/pip install --no-cache-dir ansible \
\
# asgardcms
&& COMPOSER_HOME="/usr/local/src/composer" composer global require asgardcms/asgardcms-installer \
@@ -133,22 +146,50 @@ RUN set -x \
&& npm install -g gulp \
\
# codeception
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception --dev \
&& COMPOSER_HOME="/usr/local/src/composer" composer global require codeception/codeception \
&& ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
\
# drush
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
&& cd /usr/local/src/drush \
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \
# deployer
&& curl https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
&& chmod +x /usr/local/bin/dep \
# drush7
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush7 \
&& cd /usr/local/src/drush7 \
&& git checkout 7.4.0 \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush && composer install --no-interaction --no-progress' \
&& ln -s /usr/local/src/drush/drush /usr/local/bin/drush \
&& rm -rf /usr/local/src/drush/.git \
&& rm -rf /usr/local/src/drush/docs \
&& rm -rf /usr/local/src/drush/examples \
&& rm -rf /usr/local/src/drush/misc \
&& rm -rf /usr/local/src/drush/tests \
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
&& rm -rf /usr/local/src/drush7/.git \
&& rm -rf /usr/local/src/drush7/docs \
&& rm -rf /usr/local/src/drush7/examples \
&& rm -rf /usr/local/src/drush7/misc \
\
# drush8
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush8 \
&& cd /usr/local/src/drush8 \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
&& rm -rf /usr/local/src/drush8/.git \
&& rm -rf /usr/local/src/drush8/docs \
&& rm -rf /usr/local/src/drush8/examples \
&& rm -rf /usr/local/src/drush8/misc \
\
# drush9
&& git clone https://github.com/drush-ops/drush.git /usr/local/src/drush9 \
&& cd /usr/local/src/drush9 \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \
&& rm -rf /usr/local/src/drush9/.git \
&& rm -rf /usr/local/src/drush9/docs \
&& rm -rf /usr/local/src/drush9/examples \
&& rm -rf /usr/local/src/drush9/misc \
\
# drupalconsole
&& curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal \
@@ -160,14 +201,16 @@ RUN set -x \
&& cd / && rm -rf /tmp/gitflow \
\
# grunt
&& npm install -g grunt grunt-cli \
&& npm install -g grunt \
&& npm install -g grunt-cli \
\
# laravel
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
&& cd /usr/local/src/laravel-installer \
&& git checkout $(git describe --abbrev=0 --tags) \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install' \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
\
@@ -236,14 +279,20 @@ RUN set -x \
&& curl https://symfony.com/installer -L -o /usr/local/bin/symfony \
&& chmod +x /usr/local/bin/symfony \
# webpack
&& npm install -g webpack webpack-cli \
&& npm install -g webpack \
&& npm install -g webpack-cli \
\
# wpcli
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
&& chmod +x /usr/local/bin/wp \
# yamllint
&& apt update && apt install --no-install-recommends --no-install-suggests -y libpython-dev python-setuptools libyaml-dev \
&& pip install yamllint \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps libpython-dev python-setuptools libyaml-dev && rm -rf /var/lib/apt/lists/* \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests libpython-dev python-setuptools libyaml-dev \
\
&& /usr/local/bin/pip install --no-cache-dir yamllint \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false libpython-dev python-setuptools libyaml-dev \
&& rm -rf /var/lib/apt/lists/* \
\
# cleanup
&& rm -rf /home/${MY_USER}/.*json \
&& rm -rf /home/${MY_USER}/.cache \
@@ -265,7 +314,12 @@ RUN set -x \
\
&& rm -rf /tmp/* \
\
&& true
\
&& rm -rf /usr/local/src/composer/cache/* || true \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
###
@@ -292,10 +346,20 @@ RUN \
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.3' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
RUN set -x \
&& composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
@@ -309,7 +373,10 @@ RUN set -x \
&& gulp --version | grep -E '[.0-9]+' \
\
&& codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$' \
&& drush --version | grep -E '[.0-9]+' \
&& dep --version 2>/dev/null | grep -E 'Deployer\s*[.0-9]+' \
&& drush7 --version | grep -E '7[.0-9]+\s*$' \
&& drush8 --version | grep -E '8[.0-9]+\s*$' \
&& drush9 --version | grep -E '9[.0-9]+\s*$' \
&& drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]' \
&& git-flow version | grep -E '[.0-9]+' \
&& grunt --version | grep -E '[.0-9]+' \

View File

@@ -319,23 +319,23 @@ rebuild-work-73:
### Pull base FROM images
###
pull-from-52:
docker pull $(shell grep FROM $(location)/base/Dockerfile-5.2 | sed 's/^FROM//g'; done)
docker pull $(shell grep FROM $(location)/base/Dockerfile-5.2 | sed 's/^FROM\s*//g';)
pull-from-53:
docker pull $(shell grep FROM $(location)/base/Dockerfile-5.3 | sed 's/^FROM//g'; done)
docker pull $(shell grep FROM $(location)/base/Dockerfile-5.3 | sed 's/^FROM\s*//g';)
pull-from-54:
docker pull $(shell grep FROM $(location)/base/Dockerfile-5.4 | sed 's/^FROM//g'; done)
docker pull $(shell grep FROM $(location)/base/Dockerfile-5.4 | sed 's/^FROM\s*//g';)
pull-from-55:
docker pull $(shell grep FROM $(location)/base/Dockerfile-5.5 | sed 's/^FROM//g'; done)
docker pull $(shell grep FROM $(location)/base/Dockerfile-5.5 | sed 's/^FROM\s*//g';)
pull-from-56:
docker pull $(shell grep FROM $(location)/base/Dockerfile-5.6 | sed 's/^FROM//g'; done)
docker pull $(shell grep FROM $(location)/base/Dockerfile-5.6 | sed 's/^FROM\s*//g';)
pull-from-70:
docker pull $(shell grep FROM $(location)/base/Dockerfile-7.0 | sed 's/^FROM//g'; done)
docker pull $(shell grep FROM $(location)/base/Dockerfile-7.0 | sed 's/^FROM\s*//g';)
pull-from-71:
docker pull $(shell grep FROM $(location)/base/Dockerfile-7.1 | sed 's/^FROM//g'; done)
docker pull $(shell grep FROM $(location)/base/Dockerfile-7.1 | sed 's/^FROM\s*//g';)
pull-from-72:
docker pull $(shell grep FROM $(location)/base/Dockerfile-7.2 | sed 's/^FROM//g'; done)
docker pull $(shell grep FROM $(location)/base/Dockerfile-7.2 | sed 's/^FROM\s*//g';)
pull-from-73:
docker pull $(shell grep FROM $(location)/base/Dockerfile-7.3 | sed 's/^FROM//g'; done)
docker pull $(shell grep FROM $(location)/base/Dockerfile-7.3 | sed 's/^FROM\s*//g';)
###

View File

@@ -503,42 +503,42 @@ Check out this table to see which Docker image provides what PHP modules.
<tr>
<th>5.3</th>
<td id="53-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, hash, iconv, json, libxml, mysql, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, recode, Reflection, session, SimpleXML, SPL, SQLite, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="53-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, SQLite, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
<td id="53-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, SQLite, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr>
<tr>
<th>5.4</th>
<td id="54-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, hash, iconv, json, libxml, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, recode, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="54-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
<td id="54-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr>
<tr>
<th>5.5</th>
<td id="55-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="55-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
<td id="55-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr>
<tr>
<th>5.6</th>
<td id="56-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mhash, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="56-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mhash, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
<td id="56-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mhash, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr>
<tr>
<th>7.0</th>
<td id="70-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="70-mods">amqp, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
<td id="70-mods">amqp, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr>
<tr>
<th>7.1</th>
<td id="71-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="71-mods">amqp, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
<td id="71-mods">amqp, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr>
<tr>
<th>7.2</th>
<td id="72-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="72-mods">amqp, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
<td id="72-mods">amqp, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr>
<tr>
<th>7.3</th>
<td id="73-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="73-mods">apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcached, mongodb, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
<td id="73-mods">apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcached, mongodb, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr>
</tbody>
</table>
@@ -838,6 +838,10 @@ You want to use tools such as `git`, `drush`, `composer`, `npm`, `eslint`, `phpc
<td><a href="https://getcomposer.org">composer</a></td>
<td>Dependency Manager for PHP.</td>
</tr>
<tr>
<td><a href="https://deployer.org/">deployer</a></td>
<td>Deployment tool for PHP.</td>
</tr>
<tr>
<td><a href="https://drupalconsole.com">drupal-console</a></td>
<td>The Drupal CLI. A tool to generate boilerplate code, interact with and debug Drupal.</td>
@@ -870,6 +874,10 @@ You want to use tools such as `git`, `drush`, `composer`, `npm`, `eslint`, `phpc
<td><a href="https://github.com/zaach/jsonlint">jsonlint</a></td>
<td>Json command line linter.</td>
</tr>
<tr>
<td><a href="https://stedolan.github.io/jq/">jq</a></td>
<td>Command-line JSON processor.</td>
</tr>
<tr>
<td><a href="https://github.com/laravel/installer">laravel installer</a></td>
<td>A CLI tool to easily install and manage the laravel framework.</td>

View File

@@ -44,9 +44,8 @@ RUN set -x \
### Upgrade (install ps)
###
RUN set -x \
&& apt-get update \
&& apt-get upgrade -y \
&& apt-get install --no-install-recommends --no-install-suggests -y procps \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests procps \
&& rm -rf /var/lib/apt/lists/*
@@ -77,10 +76,20 @@ COPY ./data/docker-entrypoint.d /docker-entrypoint.d
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^{{ php_version }}' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
{% endif %}

View File

@@ -18,43 +18,56 @@ LABEL \
### Envs
###
ENV BUILD_DEPS \
{# Loop over enabled build dependencies #}
{% for ext in extensions_enabled %}
{# Not disabled #}
{% if ('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled']) %}
{# Version specific build dependency available? #}
{% if php_version in extensions_available[ext] and 'build_dep' in extensions_available[ext][php_version] %}
{% for build_dep in extensions_available[ext][php_version]['build_dep'] %}
{# Loop over enabled build dependencies -#}
{%- set build_deps = [] -%}
{%- for ext in extensions_enabled -%}
{#- Not disabled AND not already available by default -#}
{%- if (('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled']))
and ('already_avail' not in extensions_available[ext] or php_version not in extensions_available[ext]['already_avail']) -%}
{#- Version specific build dependency available? -#}
{%- if php_version in extensions_available[ext] and 'build_dep' in extensions_available[ext][php_version] -%}
{%- for build_dep in extensions_available[ext][php_version]['build_dep'] -%}
{#- Append build dependencies to our array -#}
{{- build_deps.append(build_dep) -}}
{%- endfor -%}
{#- Generic build dependency available? -#}
{%- elif 'all' in extensions_available[ext] and 'build_dep' in extensions_available[ext]['all'] -%}
{%- for build_dep in extensions_available[ext]['all']['build_dep'] -%}
{#- Append build dependencies to our array -#}
{{- build_deps.append(build_dep) -}}
{%- endfor -%}
{%- endif -%}
{%- endif -%}
{%- endfor -%}
{% for build_dep in build_deps | unique | sort %}
{{ build_dep }} \
{% endfor %}
{# Generic build dependency available? #}
{% elif 'all' in extensions_available[ext] and 'build_dep' in extensions_available[ext]['all'] %}
{% for build_dep in extensions_available[ext]['all']['build_dep'] %}
{{ build_dep }} \
{% endfor %}
{% endif %}
{% endif %}
{% endfor %}
ca-certificates \
git
ENV RUN_DEPS \
{# Loop over enabled run-time dependencies #}
{% for ext in extensions_enabled %}
{# Not disabled #}
{% if ('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled']) %}
{# Version specific run-time dependency available? #}
{% if php_version in extensions_available[ext] and 'run_dep' in extensions_available[ext][php_version] %}
{% for run_dep in extensions_available[ext][php_version]['run_dep'] %}
{# Loop over enabled run-time dependencies -#}
{%- set run_deps = [] -%}
{%- for ext in extensions_enabled -%}
{#- Not disabled -#}
{%- if ('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled']) -%}
{#- Version specific run-time dependency available? -#}
{%- if php_version in extensions_available[ext] and 'run_dep' in extensions_available[ext][php_version] -%}
{%- for run_dep in extensions_available[ext][php_version]['run_dep'] -%}
{#- Append run dependencies to our array -#}
{{- run_deps.append(run_dep) -}}
{%- endfor -%}
{#- Generic run-time dependency available? -#}
{%- elif 'all' in extensions_available[ext] and 'run_dep' in extensions_available[ext]['all'] -%}
{%- for run_dep in extensions_available[ext]['all']['run_dep'] -%}
{#- Append run dependencies to our array -#}
{{- run_deps.append(run_dep) -}}
{%- endfor -%}
{%- endif -%}
{%- endif -%}
{%- endfor -%}
{% for run_dep in run_deps | unique | sort %}
{{ run_dep }} \
{% endfor %}
{# Generic run-time dependency available? #}
{% elif 'all' in extensions_available[ext] and 'run_dep' in extensions_available[ext]['all'] %}
{% for run_dep in extensions_available[ext]['all']['run_dep'] %}
{{ run_dep }} \
{% endfor %}
{% endif %}
{% endif %}
{% endfor %}
ca-certificates
@@ -63,111 +76,124 @@ ENV RUN_DEPS \
### Install
###
RUN set -x \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
${BUILD_DEPS} \
\
\
{# Loop over enabled extensions #}
{% for ext in extensions_enabled %}
{# Not disabled #}
{% if ('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled']) %}
{# ---------- Pre Command ---------- #}
{# Version specific pre-command available? #}
{% if php_version in extensions_available[ext] and 'pre' in extensions_available[ext][php_version] %}
{# Not disabled AND not already enabled #}
{% if (('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled'])) and ('already_avail' not in extensions_available[ext] or php_version not in extensions_available[ext]['already_avail']) %}
{# ---------- Pre Command ---------- #}
{# Version specific pre-command available? #}
{% if php_version in extensions_available[ext] and 'pre' in extensions_available[ext][php_version] %}
&& {{ extensions_available[ext][php_version]['pre'] }} \
{# Generic pre-command available? #}
{% elif 'all' in extensions_available[ext] and 'pre' in extensions_available[ext]['all'] %}
{# Generic pre-command available? #}
{% elif 'all' in extensions_available[ext] and 'pre' in extensions_available[ext]['all'] %}
&& {{ extensions_available[ext]['all']['pre'] }} \
{% endif %}
{# ---------- Installation (specific) ---------- #}
{% if php_version in extensions_available[ext] and 'type' in extensions_available[ext][php_version] %}
{# ---- 1.) Builtin ---- #}
{% if extensions_available[ext][php_version]['type'] == 'builtin' %}
{% if 'configure' in extensions_available[ext][php_version] %}
{% endif %}
{# ---------- Installation (specific) ---------- #}
{% if php_version in extensions_available[ext] and 'type' in extensions_available[ext][php_version] %}
{# ---- 1.) Builtin ---- #}
{% if extensions_available[ext][php_version]['type'] == 'builtin' %}
{% if 'configure' in extensions_available[ext][php_version] %}
&& /usr/local/bin/docker-php-ext-configure {{ ext }} {{ extensions_available[ext][php_version]['configure'] }} \
{% endif %}
{% endif %}
&& /usr/local/bin/docker-php-ext-install{% if php_version != 5.4 %} -j$(getconf _NPROCESSORS_ONLN){% endif %} {{ ext }} \
{# ---- 2.) PECL ---- #}
{% elif extensions_available[ext][php_version]['type'] == 'pecl' %}
{% if 'command' in extensions_available[ext][php_version] %}
{# ---- 2.) PECL ---- #}
{% elif extensions_available[ext][php_version]['type'] == 'pecl' %}
{% if 'command' in extensions_available[ext][php_version] %}
&& {{ extensions_available[ext][php_version]['command'] }} \
{% else %}
{% else %}
&& pecl install {{ ext }}{% if 'version' in extensions_available[ext][php_version] %}-{{ extensions_available[ext][php_version]['version'] }}{% endif %} \
{% endif %}
{% endif %}
&& docker-php-ext-enable {{ ext }} \
{# ---- 3.) GIT ---- #}
{% elif extensions_available[ext][php_version]['type'] == 'git' %}
{# ---- 3.) GIT ---- #}
{% elif extensions_available[ext][php_version]['type'] == 'git' %}
&& git clone -v {{ extensions_available[ext][php_version]['git_url'] }} /tmp/{{ ext }} \
&& cd /tmp/{{ ext }} \
{% if 'git_ref' in extensions_available[ext][php_version] %}
{% if 'git_ref' in extensions_available[ext][php_version] %}
&& git checkout {{ extensions_available[ext][php_version]['git_ref'] }} \
{% endif %}
{% if 'command' in extensions_available[ext][php_version] %}
{% endif %}
{% if 'command' in extensions_available[ext][php_version] %}
&& {{ extensions_available[ext][php_version]['command'] }} \
{% else %}
{% else %}
&& phpize \
&& ./configure {% if 'configure' in extensions_available[ext][php_version] %} {{ extensions_available[ext][php_version]['configure'] }}{% endif %} \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
{% endif %}
{% endif %}
&& docker-php-ext-enable {{ ext }} \
&& cd / && rm -rf /tmp/{{ ext }} \
{# ---- 4.) CUSTOM ---- #}
{% elif extensions_available[ext][php_version]['type'] == 'custom' %}
{# ---- 4.) CUSTOM ---- #}
{% elif extensions_available[ext][php_version]['type'] == 'custom' %}
&& {{ extensions_available[ext][php_version]['command'] }} \
{% endif %}
{# ---------- Installation (generic) ---------- #}
{% elif 'all' in extensions_available[ext] and 'type' in extensions_available[ext]['all'] %}
{# ---- 1.) Builtin ---- #}
{% if extensions_available[ext]['all']['type'] == 'builtin' %}
{% if 'configure' in extensions_available[ext]['all'] %}
{% endif %}
{# ---------- Installation (generic) ---------- #}
{% elif 'all' in extensions_available[ext] and 'type' in extensions_available[ext]['all'] %}
{# ---- 1.) Builtin ---- #}
{% if extensions_available[ext]['all']['type'] == 'builtin' %}
{% if 'configure' in extensions_available[ext]['all'] %}
&& /usr/local/bin/docker-php-ext-configure {{ ext }} {{ extensions_available[ext]['all']['configure'] }} \
{% endif %}
{% endif %}
&& /usr/local/bin/docker-php-ext-install{% if php_version != 5.4 %} -j$(getconf _NPROCESSORS_ONLN){% endif %} {{ ext }} \
{# ---- 2.) PECL ---- #}
{% elif extensions_available[ext]['all']['type'] == 'pecl' %}
{% if 'command' in extensions_available[ext]['all'] %}
{# ---- 2.) PECL ---- #}
{% elif extensions_available[ext]['all']['type'] == 'pecl' %}
{% if 'command' in extensions_available[ext]['all'] %}
&& {{ extensions_available[ext]['all']['command'] }} \
{% else %}
{% else %}
&& pecl install {{ ext }}{% if 'version' in extensions_available[ext]['all'] %}-{{ extensions_available[ext]['all']['version'] }}{% endif %} \
{% endif %}
{% endif %}
&& docker-php-ext-enable {{ ext }} \
{# ---- 3.) GIT ---- #}
{% elif extensions_available[ext]['all']['type'] == 'git' %}
{# ---- 3.) GIT ---- #}
{% elif extensions_available[ext]['all']['type'] == 'git' %}
&& git clone -v {{ extensions_available[ext]['all']['git_url'] }} /tmp/{{ ext }} \
&& cd /tmp/{{ ext }} \
{% if 'git_ref' in extensions_available[ext]['all'] %}
{% if 'git_ref' in extensions_available[ext]['all'] %}
&& git checkout {{ extensions_available[ext]['all']['git_ref'] }} \
{% endif %}
{% if 'command' in extensions_available[ext]['all'] %}
{% endif %}
{% if 'command' in extensions_available[ext]['all'] %}
&& {{ extensions_available[ext]['all']['command'] }} \
{% else %}
{% else %}
&& phpize \
&& ./configure {% if 'configure' in extensions_available[ext]['all'] %} {{ extensions_available[ext]['all']['configure'] }}{% endif %} \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
{% endif %}
{% endif %}
&& docker-php-ext-enable {{ ext }} \
&& cd / && rm -rf /tmp/{{ ext }} \
{# ---- 4.) CUSTOM ---- #}
{% elif extensions_available[ext]['all']['type'] == 'custom' %}
{# ---- 4.) CUSTOM ---- #}
{% elif extensions_available[ext]['all']['type'] == 'custom' %}
&& {{ extensions_available[ext]['all']['command'] }} \
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{# Ensure modules that are not disabled have an appropriate ini directive and are loaded #}
{% if ('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled']) %}
{% if php_version in extensions_available[ext] and 'load_ext' in extensions_available[ext][php_version] %}
&& if [ ! -f "/usr/local/etc/php/conf.d/docker-php-ext-{{ ext }}.ini" ]; then echo "extension={{ extensions_available[ext][php_version]['load_ext'] }}" > "/usr/local/etc/php/conf.d/docker-php-ext-{{ ext }}.ini"; fi \
{% elif 'all' in extensions_available[ext] and 'load_ext' in extensions_available[ext]['all'] %}
&& if [ ! -f "/usr/local/etc/php/conf.d/docker-php-ext-{{ ext }}.ini" ]; then echo "extenstion={{ extensions_available[ext]['all']['load_ext'] }}" > "/usr/local/etc/php/conf.d/docker-php-ext-{{ ext }}.ini"; fi \
{% endif %}
\
&& rm -rf /usr/local/lib/php/test/{{ ext }} || true \
&& rm -rf /usr/local/lib/php/doc/{{ ext }} || true \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
{% endif %}
{% endfor %}
&& rm -rf /tmp/* \
\
\
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
${BUILD_DEPS} \
\
\
&& apt-get install --no-install-recommends --no-install-suggests -y \
${RUN_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false ${BUILD_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests ${RUN_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
&& update-ca-certificates \
&& sh -c "find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true"
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find "$(php -r 'echo ini_get("extension_dir");')" -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
{% if debug %}
@@ -175,25 +201,34 @@ RUN set -x \
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^{{ php_version }}' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
RUN set -x \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini \
\
{% for ext in extensions_enabled %}
{# Not disabled #}
{% if ('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled']) %}
{% if ext == 'opcache' %}
{#- Not disabled #}
{%- if ('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled']) %}
{%- if ext == 'opcache' %}
&& php -m | grep -oiE '^Zend Opcache$' \
&& php-fpm -m | grep -oiE '^Zend Opcache$' \
{% elif ext == 'ioncube' %}
{# Not enabled #}
{% else %}
{# #}
{%- elif ext not in ['ioncube'] %}
&& php -m | grep -oiE '^{{ ext }}$' \
&& php-fpm -m | grep -oiE '^{{ ext }}$' \
{% endif %}
{% endif %}
{# #}
{%- endif %}
{%- endif %}
{% endfor %}
&& true

View File

@@ -18,20 +18,25 @@ LABEL \
### Install
###
RUN set -x \
&& apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
locales-all \
postfix \
postfix-pcre \
rsyslog \
socat \
supervisor \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
&& rm -rf /etc/supervisor* \
&& mkdir -p /etc/supervisor/conf.d \
&& mkdir -p /var/log/supervisor
&& mkdir -p /var/log/supervisor \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
@@ -40,10 +45,20 @@ RUN set -x \
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^{{ php_version }}' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
{% endif %}

View File

@@ -24,38 +24,45 @@ ENV BASH_PROFILE=".bashrc"
### Install Tools
###
RUN set -x \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
dirmngr \
gnupg \
{% for repo in apt_repositories_enabled %}
{# Not disabled #}
{% if ('disabled' not in apt_repositories_available[repo]) or (php_version not in apt_repositories_available[repo]['disabled']) %}
{# Version specific pre-command available? #}
{% if php_version in apt_repositories_available[repo] and 'pre' in apt_repositories_available[repo][php_version] %}
{% for repo in apt_repositories_enabled -%}
{#- Not disabled -#}
{%- if ('disabled' not in apt_repositories_available[repo]) or (php_version not in apt_repositories_available[repo]['disabled']) -%}
{#- Version specific pre-command available? -#}
{%- if php_version in apt_repositories_available[repo] and 'pre' in apt_repositories_available[repo][php_version] %}
&& {{ apt_repositories_available[repo][php_version]['pre'] }} \
{# Generic pre-command available? #}
{% elif 'all' in apt_repositories_available[repo] and 'pre' in apt_repositories_available[repo]['all'] %}
{# #}
{#- Generic pre-command available? -#}
{%- elif 'all' in apt_repositories_available[repo] and 'pre' in apt_repositories_available[repo]['all'] %}
&& {{ apt_repositories_available[repo]['all']['pre'] }} \
{% endif %}
{# Version specific key available? #}
{% if php_version in apt_repositories_available[repo] and 'key' in apt_repositories_available[repo][php_version] %}
{# #}
{%- endif -%}
{#- Version specific key available? -#}
{%- if php_version in apt_repositories_available[repo] and 'key' in apt_repositories_available[repo][php_version] %}
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv {{ apt_repositories_available[repo][php_version]['key'] }} \
{# Generic key available? #}
{% elif 'all' in apt_repositories_available[repo] and 'key' in apt_repositories_available[repo]['all'] %}
{# #}
{#- Generic key available? -#}
{%- elif 'all' in apt_repositories_available[repo] and 'key' in apt_repositories_available[repo]['all'] %}
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv {{ apt_repositories_available[repo]['all']['key'] }} \
{% endif %}
{# Version specific repository available? #}
{% if php_version in apt_repositories_available[repo] and 'deb' in apt_repositories_available[repo][php_version] %}
{# #}
{%- endif -%}
{#- Version specific repository available? -#}
{%- if php_version in apt_repositories_available[repo] and 'deb' in apt_repositories_available[repo][php_version] %}
&& echo "{{ apt_repositories_available[repo][php_version]['deb'] }}" > /etc/apt/sources.list.d/{{ repo }}.list \
{# Generic repository available? #}
{% else %}
{# #}
{#- Generic repository available? -#}
{%- else %}
&& echo "{{ apt_repositories_available[repo]['all']['deb'] }}" > /etc/apt/sources.list.d/{{ repo }}.list \
{% endif %}
{% endif %}
{% endfor %}
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
{# #}
{%- endif -%}
{%- endif -%}
{%- endfor %}
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
ack-grep \
aspell \
autoconf \
@@ -72,10 +79,12 @@ RUN set -x \
git \
git-flow \
git-svn \
graphviz \
hostname \
htop \
imagemagick \
iputils-ping \
jq \
less \
libc-dev \
libffi-dev\
@@ -112,11 +121,21 @@ RUN set -x \
w3m \
wget \
whois \
wkhtmltopdf \
xz-utils \
yarn \
zsh \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
&& rm -rf /var/lib/apt/lists/*
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \
\
# Get newer pip version
&& pip install --upgrade pip \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false python-pip \
&& rm -rf /var/lib/apt/lists/* \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
RUN set -x \
@@ -147,7 +166,12 @@ RUN set -x \
{% endif %}
{% endif %}
{% endfor %}
&& true
\
&& rm -rf /usr/local/src/composer/cache/* || true \
\
&& find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true \
&& find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true
###
@@ -175,10 +199,20 @@ RUN \
### Verify
###
RUN set -x \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^{{ php_version }}' \
&& /usr/local/sbin/php-fpm --test \
\
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
\
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini
RUN set -x \
{% for tool in software_enabled %}

View File

@@ -202,7 +202,10 @@ software_enabled:
- asgardcms
- awesomeci
- codeception
- drush
- deployer
- drush7
- drush8
- drush9
- drupalconsole
- gitflow
- grunt
@@ -300,8 +303,8 @@ software_available:
check: ansible --version | grep -E '^ansible [.0-9]+$'
all:
command: |
pip install --upgrade setuptools \
&& pip install ansible \
/usr/local/bin/pip install --no-cache-dir --upgrade setuptools \
&& /usr/local/bin/pip install --no-cache-dir ansible \
awesomeci:
check: |
mdl --version | grep -E '[.0-9]+' \
@@ -333,49 +336,66 @@ software_available:
check: composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+'
all:
command: curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
drush:
deployer:
disabled: [5.2, 5.3]
check: dep --version 2>/dev/null | grep -E 'Deployer\s*[.0-9]+'
all:
command: curl https://deployer.org/deployer.phar -L -o /usr/local/bin/dep
post: chmod +x /usr/local/bin/dep
drush7:
disabled: [5.2]
check: drush --version | grep -E '[.0-9]+'
5.2:
pre: |
git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
&& cd /usr/local/src/drush \
&& git checkout 7.4.0 \
5.3:
pre: |
git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
&& cd /usr/local/src/drush \
&& git checkout 7.4.0 \
5.4:
pre: |
git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
&& cd /usr/local/src/drush \
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | sed 's/^.*tags\///g' | grep ^8 | tail -1) \
5.5:
pre: |
git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
&& cd /usr/local/src/drush \
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | sed 's/^.*tags\///g' | grep ^8 | tail -1) \
check: drush7 --version | grep -E '7[.0-9]+\s*$'
all:
pre: |
git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
&& cd /usr/local/src/drush \
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \
git clone https://github.com/drush-ops/drush.git /usr/local/src/drush7 \
&& cd /usr/local/src/drush7 \
&& git checkout 7.4.0 \
command: |
chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush && composer install --no-interaction --no-progress' \
&& ln -s /usr/local/src/drush/drush /usr/local/bin/drush \
&& rm -rf /usr/local/src/drush/.git \
&& rm -rf /usr/local/src/drush/docs \
&& rm -rf /usr/local/src/drush/examples \
&& rm -rf /usr/local/src/drush/misc \
&& rm -rf /usr/local/src/drush/tests \
chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush7 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush7 && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush7/drush /usr/local/bin/drush7 \
&& rm -rf /usr/local/src/drush7/.git \
&& rm -rf /usr/local/src/drush7/docs \
&& rm -rf /usr/local/src/drush7/examples \
&& rm -rf /usr/local/src/drush7/misc \
drush8:
disabled: [5.2, 5.3]
check: drush8 --version | grep -E '8[.0-9]+\s*$'
all:
pre: |
git clone https://github.com/drush-ops/drush.git /usr/local/src/drush8 \
&& cd /usr/local/src/drush8 \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/8[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
command: |
chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush8 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush8 && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush8/drush /usr/local/bin/drush8 \
&& rm -rf /usr/local/src/drush8/.git \
&& rm -rf /usr/local/src/drush8/docs \
&& rm -rf /usr/local/src/drush8/examples \
&& rm -rf /usr/local/src/drush8/misc \
drush9:
disabled: [5.2, 5.3, 5.4, 5.5]
check: drush9 --version | grep -E '9[.0-9]+\s*$'
all:
pre: |
git clone https://github.com/drush-ops/drush.git /usr/local/src/drush9 \
&& cd /usr/local/src/drush9 \
&& git checkout $( git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | grep -E 'tags/9[.0-9]+$' | tail -1 | sed 's|.*/||g' ) \
command: |
chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush9 \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush9 && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/drush9/drush /usr/local/bin/drush9 \
&& rm -rf /usr/local/src/drush9/.git \
&& rm -rf /usr/local/src/drush9/docs \
&& rm -rf /usr/local/src/drush9/examples \
&& rm -rf /usr/local/src/drush9/misc \
codeception:
disabled: [5.2]
check: codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$'
all:
command: |
COMPOSER_HOME="{{ compose_home }}" composer global require codeception/codeception --dev \
COMPOSER_HOME="{{ compose_home }}" composer global require codeception/codeception \
&& ln -s {{ compose_home }}/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
drupalconsole:
disabled: [5.2, 5.3, 5.4]
@@ -394,7 +414,9 @@ software_available:
grunt:
check: grunt --version | grep -E '[.0-9]+'
all:
command: npm install -g grunt grunt-cli
command: |
npm install -g grunt \
&& npm install -g grunt-cli \
laravel:
check: laravel --version | grep -E '(Installer|version)\s*[.0-9]+'
disabled: [5.2, 5.3]
@@ -425,7 +447,7 @@ software_available:
&& git checkout $(git describe --abbrev=0 --tags) \
command: |
chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install' \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
linkcheck:
@@ -586,13 +608,19 @@ software_available:
webpack:
check: webpack --version | grep -E '[.0-9]+'
all:
command: npm install -g webpack webpack-cli
command: |
npm install -g webpack \
&& npm install -g webpack-cli \
yamllint:
check: yamllint --version 2>&1 | grep -E '[.0-9]+'
all:
pre: apt update && apt install --no-install-recommends --no-install-suggests -y libpython-dev python-setuptools libyaml-dev
command: pip install yamllint
post: apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps libpython-dev python-setuptools libyaml-dev && rm -rf /var/lib/apt/lists/*
pre: |
DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests libpython-dev python-setuptools libyaml-dev \
command: /usr/local/bin/pip install --no-cache-dir yamllint
post: |
DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false libpython-dev python-setuptools libyaml-dev \
&& rm -rf /var/lib/apt/lists/* \
cleanup:
all:
command: |
@@ -686,6 +714,7 @@ extensions_enabled:
- readline
- recode
- redis
- rdkafka
- session
- shmop
- simplexml
@@ -716,26 +745,28 @@ extensions_enabled:
###
# all: is generic version of defines
# 7.2: is specific version of defines
# disabled: [optional] Array of PHP versions for which to disable this module
# disabled: [optional] Array of PHP versions for which to disable this module
# already_avail: [optional] Array of PHP versions for which we don't install the module, but
# the dependencies, as it is already loaded by core
#
# all, 7.2, 7.1, 7.0, 5.6, 5.5, 5.4:
# pre: [optional] Run command before anything else
# build_dep: [optional] Array of build dependencies
# run_dep: [optional] Array of run-time dependencies
# type: [required] One of 'builtin', 'pecl' or 'git'
# pre: [optional] Run command before anything else
# build_dep: [optional] Array of build dependencies
# run_dep: [optional] Array of run-time dependencies
# type: [required] One of 'builtin', 'pecl' or 'git'
#
# type: builtin
# configure: [optional] Add './configure' arguments
# configure: [optional] Add './configure' arguments
# type: pecl
# version: [optional] Pecl packet version
# command: [optional] Overwrite pecl command (pecl install ext)
# version: [optional] Pecl packet version
# command: [optional] Overwrite pecl command (pecl install ext)
# type: git
# git_url: [required] Git repository URL
# git_ref: [optional] Tag, branch, commit to checkout
# configure: [optional] Add './configure' arguments
# command: [optional] Overwrite default command (phpize && ./configure && make && make install)
# git_url: [required] Git repository URL
# git_ref: [optional] Tag, branch, commit to checkout
# configure: [optional] Add './configure' arguments
# command: [optional] Overwrite default command (phpize && ./configure && make && make install)
# type: custom
# command: [required] Custom command to install and enable a module
# command: [required] Custom command to install and enable a module
extensions_available:
amqp:
disabled: [7.3]
@@ -781,9 +812,11 @@ extensions_available:
all:
type: builtin
ctype:
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3]
all:
type: builtin
curl:
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3]
all:
type: builtin
build_dep: [libcurl4-openssl-dev]
@@ -791,6 +824,7 @@ extensions_available:
all:
type: builtin
dom:
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3]
all:
type: builtin
configure: --with-libxml-dir=/usr
@@ -807,14 +841,16 @@ extensions_available:
all:
type: builtin
fileinfo:
already_avail: [5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3]
5.2:
type: pecl
build_dep: [libmagic-dev]
all:
type: builtin
filter:
disabled: "{{ php_all_versions }}" # Available by default
already_avail: "{{ php_all_versions }}" # Available by default
ftp:
already_avail: [5.5, 5.6, 7.0, 7.1, 7.2, 7.3]
all:
type: builtin
configure: --with-openssl-dir
@@ -881,12 +917,17 @@ extensions_available:
pre: ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/
build_dep: [libgmp-dev]
hash:
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3]
all:
type: builtin
iconv:
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3]
all:
type: builtin
igbinary:
5.2:
type: pecl
version: 2.0.7
all:
type: pecl
imagick:
@@ -949,6 +990,7 @@ extensions_available:
&& rm -rf ioncube \
&& rm -rf ioncube.tar.gz \
json:
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3]
7.0:
type: builtin
build_dep: [bison]
@@ -961,9 +1003,9 @@ extensions_available:
configure: --with-ldap --with-ldap-sasl
build_dep: [libldap2-dev, libsasl2-dev]
libxml:
disabled: "{{ php_all_versions }}" # Available by default
already_avail: "{{ php_all_versions }}" # Available by default
mbstring:
disabled: [7.3]
already_avail: [5.2, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3]
all:
type: builtin
mcrypt:
@@ -1059,6 +1101,7 @@ extensions_available:
all:
type: pecl
mysql:
already_avail: [5.2, 5.3]
disabled: [7.0, 7.1, 7.2, 7.3] # Deprecated in newer versions
5.6:
type: builtin
@@ -1067,10 +1110,12 @@ extensions_available:
type: builtin
run_dep: [libmysqlclient18]
mysqli:
already_avail: [5.2]
all:
type: builtin
mysqlnd:
disabled: "{{ php_all_versions }}" # Available by default
disabled: [5.2]
already_avail: [5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3]
oci8:
disabled: "{{ php_all_versions }}" # TODO: Oracle library is missing
odbc:
@@ -1088,15 +1133,16 @@ extensions_available:
all:
type: builtin
openssl:
disabled: "{{ php_all_versions }}" # Available by default
already_avail: "{{ php_all_versions }}" # Available by default
pcntl:
all:
type: builtin
pcre:
disabled: "{{ php_all_versions }}" # Available by default
already_avail: "{{ php_all_versions }}" # Available by default
pdo:
# https://github.com/docker-library/php/issues/618
disabled: [7.0] # TODO: Currently disabled due to bug in built
#disabled: [7.0] # TODO: Currently disabled due to bug in built
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.1, 7.2, 7.3]
all:
type: builtin
pdo_dblib:
@@ -1111,12 +1157,16 @@ extensions_available:
build_dep: [libfbclient2, libib-util, firebird-dev]
run_dep: [libfbclient2]
pdo_mysql:
already_avail: [5.2]
all:
type: builtin
configure: --with-zlib-dir=/usr
build_dep: [zlib1g-dev]
pdo_oci:
disabled: "{{ php_all_versions }}" # TODO: Oracle library is missing
# disabled: [5.2]
# all:
# type: builtin
pdo_odbc:
disabled: "{{ php_all_versions }}" # TODO: Build errors
pdo_pgsql:
@@ -1125,6 +1175,7 @@ extensions_available:
build_dep: [libpq-dev]
run_dep: [libpq5]
pdo_sqlite:
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3]
all:
type: builtin
build_dep: [libsqlite3-dev]
@@ -1159,12 +1210,14 @@ extensions_available:
phar:
# https://github.com/docker-library/php/issues/618
disabled: [5.6, 7.0] # TODO: Currently disabled due to bug in built
already_avail: [5.3, 5.4, 5.5, 7.1, 7.2, 7.3]
5.2:
type: pecl
all:
type: builtin
build_dep: [libssl-dev]
posix:
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3]
all:
type: builtin
pspell:
@@ -1173,11 +1226,13 @@ extensions_available:
build_dep: [libpspell-dev]
run_dep: [libaspell15]
readline:
disabled: [5.2, 5.3, 5.4] # Available by default
disabled: [5.3]
already_avail: [5.2, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3]
all:
type: builtin
build_dep: [libedit-dev, libreadline-dev]
recode:
already_avail: [5.3, 5.4]
all:
type: builtin
build_dep: [librecode-dev]
@@ -1188,7 +1243,14 @@ extensions_available:
version: 2.2.7
all:
type: pecl
rdkafka:
disabled: [5.2]
all:
type: pecl
build_dep: [librdkafka-dev]
run_dep: [librdkafka1]
session:
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3]
all:
type: builtin
configure: --with-mm
@@ -1197,6 +1259,7 @@ extensions_available:
all:
type: builtin
simplexml:
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3]
all:
type: builtin
configure: --with-libxml-dir=/usr
@@ -1208,6 +1271,7 @@ extensions_available:
build_dep: [libssl-dev, libsnmp-dev, snmp]
run_dep: [snmp]
soap:
already_avail: [5.2]
all:
type: builtin
configure: --with-libxml-dir=/usr
@@ -1217,6 +1281,7 @@ extensions_available:
type: builtin
sodium:
disabled: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1]
already_avail: [7.2, 7.3]
all:
type: builtin
build_dep: [libsodium-dev]
@@ -1247,7 +1312,8 @@ extensions_available:
git_url: https://github.com/swoole/swoole-src
git_ref: master
command: |
git submodule update --init --recursive \
git checkout $(git describe --abbrev=0 --tags) \
&& git submodule update --init --recursive \
&& cd thirdparty/hiredis \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
@@ -1312,6 +1378,7 @@ extensions_available:
build_dep: [libtidy-dev]
run_dep: [libtidy5]
tokenizer:
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3]
all:
type: builtin
uploadprogress:
@@ -1358,12 +1425,13 @@ extensions_available:
all:
type: pecl
xml:
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3]
all:
type: builtin
configure: --with-libxml-dir=/usr
build_dep: [libxml2-dev]
xmlreader:
disabled: [7.0, 7.1, 7.2, 7.3] # Available by default
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3]
all:
type: builtin
configure: --with-libxml-dir=/usr
@@ -1374,6 +1442,7 @@ extensions_available:
configure: --with-libxml-dir=/usr --with-iconv-dir=/usr
build_dep: [libxml2-dev]
xmlwriter:
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3]
all:
type: builtin
configure: --with-libxml-dir=/usr