Merge pull request #87 from chialab/refactor/use-build-args

Use build args
This commit is contained in:
le0m
2021-10-19 13:12:29 +02:00
committed by GitHub
49 changed files with 77 additions and 1380 deletions
+18 -20
View File
@@ -16,19 +16,13 @@ jobs:
strategy:
matrix:
version: [ '5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0' ]
flavor: [ '', 'apache', 'fpm' ]
flavor: [ '', '-apache', '-fpm' ]
include:
- version: 'latest'
flavor: ''
steps:
- uses: actions/checkout@v2
- name: Prepare context path and image tag
id: prepare-path-tag
run: |
echo "::set-output name=context-path::${{ matrix.version != 'latest' && matrix.version || '' }}${{ matrix.flavor != '' && format('/{0}', matrix.flavor) || '' }}"
echo "::set-output name=image-tag::${{ matrix.version }}${{ matrix.flavor != '' && format('-{0}', matrix.flavor) || '' }}"
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
@@ -38,24 +32,28 @@ jobs:
- name: Build image for testing
uses: docker/build-push-action@v2
with:
cache-from: type=registry,ref=chialab/php:${{ steps.prepare-path-tag.outputs.image-tag }}
cache-from: type=registry,ref=chialab/php:${{ matrix.version }}${{ matrix.flavor }}
cache-to: type=inline
context: ./${{ steps.prepare-path-tag.outputs.context-path }}
tags: chialab/php:${{ steps.prepare-path-tag.outputs.image-tag }}
context: .
build-args: |
BASE_IMAGE=${{ matrix.version }}${{ matrix.flavor }}
tags: chialab/php:${{ matrix.version }}${{ matrix.flavor }}
load: true
- name: Build dev image for testing
uses: docker/build-push-action@v2
with:
cache-from: type=registry,ref=chialab/php-dev:${{ steps.prepare-path-tag.outputs.image-tag }}
cache-from: type=registry,ref=chialab/php-dev:${{ matrix.version }}${{ matrix.flavor }}
cache-to: type=inline
context: ./dev/${{ steps.prepare-path-tag.outputs.context-path }}
tags: chialab/php-dev:${{ steps.prepare-path-tag.outputs.image-tag }}
context: ./dev
build-args: |
BASE_IMAGE=${{ matrix.version }}${{ matrix.flavor }}
tags: chialab/php-dev:${{ matrix.version }}${{ matrix.flavor }}
load: true
- name: Test images
env:
VERSION: ${{ steps.prepare-path-tag.outputs.image-tag }}
VERSION: ${{ matrix.version }}${{ matrix.flavor }}
run: |
make test VERSION=${VERSION}
make -C dev test VERSION=${VERSION}
@@ -72,10 +70,10 @@ jobs:
uses: docker/build-push-action@v2
with:
platforms: linux/amd64,linux/arm64
cache-from: type=registry,ref=chialab/php:${{ steps.prepare-path-tag.outputs.image-tag }}
cache-from: type=registry,ref=chialab/php:${{ matrix.version }}${{ matrix.flavor }}
cache-to: type=inline
context: ./${{ steps.prepare-path-tag.outputs.context-path }}
tags: chialab/php:${{ steps.prepare-path-tag.outputs.image-tag }}
context: .
tags: chialab/php:${{ matrix.version }}${{ matrix.flavor }}
push: true
- name: Build dev image and push to registry
@@ -83,8 +81,8 @@ jobs:
uses: docker/build-push-action@v2
with:
platforms: linux/amd64,linux/arm64
cache-from: type=registry,ref=chialab/php-dev:${{ steps.prepare-path-tag.outputs.image-tag }}
cache-from: type=registry,ref=chialab/php-dev:${{ matrix.version }}${{ matrix.flavor }}
cache-to: type=inline
context: ./dev/${{ steps.prepare-path-tag.outputs.context-path }}
tags: chialab/php-dev:${{ steps.prepare-path-tag.outputs.image-tag }}
context: ./dev
tags: chialab/php-dev:${{ matrix.version }}${{ matrix.flavor }}
push: true
-58
View File
@@ -1,58 +0,0 @@
FROM php:5.6
LABEL maintainer="dev@chialab.io"
# Download script to install PHP extensions and dependencies
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions
RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y \
curl \
git \
zip unzip \
&& install-php-extensions \
bcmath \
bz2 \
calendar \
exif \
gd \
intl \
ldap \
mcrypt \
memcached \
mysql \
mysqli \
opcache \
pdo_mysql \
pdo_pgsql \
pgsql \
redis \
soap \
xsl \
zip \
sockets
# already installed:
# iconv \
# mbstring \
# Install Composer.
ENV PATH=$PATH:/root/composer2/vendor/bin:/root/composer1/vendor/bin \
COMPOSER_ALLOW_SUPERUSER=1 \
COMPOSER_HOME=/root/composer2 \
COMPOSER1_HOME=/root/composer1
RUN cd /opt \
# Download installer and check for its integrity.
&& curl -sSL https://getcomposer.org/installer > composer-setup.php \
&& curl -sSL https://composer.github.io/installer.sha384sum > composer-setup.sha384sum \
&& sha384sum --check composer-setup.sha384sum \
# Install Composer 2 and expose `composer` as a symlink to it.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer2 --2 \
&& ln -s /usr/local/bin/composer2 /usr/local/bin/composer \
# Install Composer 1, make it point to a different `$COMPOSER_HOME` directory than Composer 2, install `hirak/prestissimo` plugin.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=.composer1 --1 \
&& printf "#!/bin/sh\nCOMPOSER_HOME=\$COMPOSER1_HOME\nexec /usr/local/bin/.composer1 \$@" > /usr/local/bin/composer1 \
&& chmod 755 /usr/local/bin/composer1 \
&& composer1 global require hirak/prestissimo \
# Remove installer files.
&& rm /opt/composer-setup.php /opt/composer-setup.sha384sum
-59
View File
@@ -1,59 +0,0 @@
FROM php:5.6-apache
LABEL maintainer="dev@chialab.io"
# Download script to install PHP extensions and dependencies
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions
RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y \
curl \
git \
zip unzip \
&& install-php-extensions \
bcmath \
bz2 \
calendar \
exif \
gd \
intl \
ldap \
mcrypt \
memcached \
mysql \
mysqli \
opcache \
pdo_mysql \
pdo_pgsql \
pgsql \
redis \
soap \
xsl \
zip \
sockets \
# already installed:
# iconv \
# mbstring \
&& a2enmod rewrite
# Install Composer.
ENV PATH=$PATH:/root/composer2/vendor/bin:/root/composer1/vendor/bin \
COMPOSER_ALLOW_SUPERUSER=1 \
COMPOSER_HOME=/root/composer2 \
COMPOSER1_HOME=/root/composer1
RUN cd /opt \
# Download installer and check for its integrity.
&& curl -sSL https://getcomposer.org/installer > composer-setup.php \
&& curl -sSL https://composer.github.io/installer.sha384sum > composer-setup.sha384sum \
&& sha384sum --check composer-setup.sha384sum \
# Install Composer 2 and expose `composer` as a symlink to it.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer2 --2 \
&& ln -s /usr/local/bin/composer2 /usr/local/bin/composer \
# Install Composer 1, make it point to a different `$COMPOSER_HOME` directory than Composer 2, install `hirak/prestissimo` plugin.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=.composer1 --1 \
&& printf "#!/bin/sh\nCOMPOSER_HOME=\$COMPOSER1_HOME\nexec /usr/local/bin/.composer1 \$@" > /usr/local/bin/composer1 \
&& chmod 755 /usr/local/bin/composer1 \
&& composer1 global require hirak/prestissimo \
# Remove installer files.
&& rm /opt/composer-setup.php /opt/composer-setup.sha384sum
-58
View File
@@ -1,58 +0,0 @@
FROM php:5.6-fpm
LABEL maintainer="dev@chialab.io"
# Download script to install PHP extensions and dependencies
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions
RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y \
curl \
git \
zip unzip \
&& install-php-extensions \
bcmath \
bz2 \
calendar \
exif \
gd \
intl \
ldap \
mcrypt \
memcached \
mysql \
mysqli \
opcache \
pdo_mysql \
pdo_pgsql \
pgsql \
redis \
soap \
xsl \
zip \
sockets
# already installed:
# iconv \
# mbstring \
# Install Composer.
ENV PATH=$PATH:/root/composer2/vendor/bin:/root/composer1/vendor/bin \
COMPOSER_ALLOW_SUPERUSER=1 \
COMPOSER_HOME=/root/composer2 \
COMPOSER1_HOME=/root/composer1
RUN cd /opt \
# Download installer and check for its integrity.
&& curl -sSL https://getcomposer.org/installer > composer-setup.php \
&& curl -sSL https://composer.github.io/installer.sha384sum > composer-setup.sha384sum \
&& sha384sum --check composer-setup.sha384sum \
# Install Composer 2 and expose `composer` as a symlink to it.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer2 --2 \
&& ln -s /usr/local/bin/composer2 /usr/local/bin/composer \
# Install Composer 1, make it point to a different `$COMPOSER_HOME` directory than Composer 2, install `hirak/prestissimo` plugin.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=.composer1 --1 \
&& printf "#!/bin/sh\nCOMPOSER_HOME=\$COMPOSER1_HOME\nexec /usr/local/bin/.composer1 \$@" > /usr/local/bin/composer1 \
&& chmod 755 /usr/local/bin/composer1 \
&& composer1 global require hirak/prestissimo \
# Remove installer files.
&& rm /opt/composer-setup.php /opt/composer-setup.sha384sum
-57
View File
@@ -1,57 +0,0 @@
FROM php:7.0
LABEL maintainer="dev@chialab.io"
# Download script to install PHP extensions and dependencies
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions
RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y \
curl \
git \
zip unzip \
&& install-php-extensions \
bcmath \
bz2 \
calendar \
exif \
gd \
intl \
ldap \
mcrypt \
memcached \
mysqli \
opcache \
pdo_mysql \
pdo_pgsql \
pgsql \
redis \
soap \
xsl \
zip \
sockets
# already installed:
# iconv \
# mbstring \
# Install Composer.
ENV PATH=$PATH:/root/composer2/vendor/bin:/root/composer1/vendor/bin \
COMPOSER_ALLOW_SUPERUSER=1 \
COMPOSER_HOME=/root/composer2 \
COMPOSER1_HOME=/root/composer1
RUN cd /opt \
# Download installer and check for its integrity.
&& curl -sSL https://getcomposer.org/installer > composer-setup.php \
&& curl -sSL https://composer.github.io/installer.sha384sum > composer-setup.sha384sum \
&& sha384sum --check composer-setup.sha384sum \
# Install Composer 2 and expose `composer` as a symlink to it.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer2 --2 \
&& ln -s /usr/local/bin/composer2 /usr/local/bin/composer \
# Install Composer 1, make it point to a different `$COMPOSER_HOME` directory than Composer 2, install `hirak/prestissimo` plugin.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=.composer1 --1 \
&& printf "#!/bin/sh\nCOMPOSER_HOME=\$COMPOSER1_HOME\nexec /usr/local/bin/.composer1 \$@" > /usr/local/bin/composer1 \
&& chmod 755 /usr/local/bin/composer1 \
&& composer1 global require hirak/prestissimo \
# Remove installer files.
&& rm /opt/composer-setup.php /opt/composer-setup.sha384sum
-58
View File
@@ -1,58 +0,0 @@
FROM php:7.0-apache
LABEL maintainer="dev@chialab.io"
# Download script to install PHP extensions and dependencies
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions
RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y \
curl \
git \
zip unzip \
&& install-php-extensions \
bcmath \
bz2 \
calendar \
exif \
gd \
intl \
ldap \
mcrypt \
memcached \
mysqli \
opcache \
pdo_mysql \
pdo_pgsql \
pgsql \
redis \
soap \
xsl \
zip \
sockets \
# already installed:
# iconv \
# mbstring \
&& a2enmod rewrite
# Install Composer.
ENV PATH=$PATH:/root/composer2/vendor/bin:/root/composer1/vendor/bin \
COMPOSER_ALLOW_SUPERUSER=1 \
COMPOSER_HOME=/root/composer2 \
COMPOSER1_HOME=/root/composer1
RUN cd /opt \
# Download installer and check for its integrity.
&& curl -sSL https://getcomposer.org/installer > composer-setup.php \
&& curl -sSL https://composer.github.io/installer.sha384sum > composer-setup.sha384sum \
&& sha384sum --check composer-setup.sha384sum \
# Install Composer 2 and expose `composer` as a symlink to it.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer2 --2 \
&& ln -s /usr/local/bin/composer2 /usr/local/bin/composer \
# Install Composer 1, make it point to a different `$COMPOSER_HOME` directory than Composer 2, install `hirak/prestissimo` plugin.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=.composer1 --1 \
&& printf "#!/bin/sh\nCOMPOSER_HOME=\$COMPOSER1_HOME\nexec /usr/local/bin/.composer1 \$@" > /usr/local/bin/composer1 \
&& chmod 755 /usr/local/bin/composer1 \
&& composer1 global require hirak/prestissimo \
# Remove installer files.
&& rm /opt/composer-setup.php /opt/composer-setup.sha384sum
-57
View File
@@ -1,57 +0,0 @@
FROM php:7.0-fpm
LABEL maintainer="dev@chialab.io"
# Download script to install PHP extensions and dependencies
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions
RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y \
curl \
git \
zip unzip \
&& install-php-extensions \
bcmath \
bz2 \
calendar \
exif \
gd \
intl \
ldap \
mcrypt \
memcached \
mysqli \
opcache \
pdo_mysql \
pdo_pgsql \
pgsql \
redis \
soap \
xsl \
zip \
sockets
# already installed:
# iconv \
# mbstring \
# Install Composer.
ENV PATH=$PATH:/root/composer2/vendor/bin:/root/composer1/vendor/bin \
COMPOSER_ALLOW_SUPERUSER=1 \
COMPOSER_HOME=/root/composer2 \
COMPOSER1_HOME=/root/composer1
RUN cd /opt \
# Download installer and check for its integrity.
&& curl -sSL https://getcomposer.org/installer > composer-setup.php \
&& curl -sSL https://composer.github.io/installer.sha384sum > composer-setup.sha384sum \
&& sha384sum --check composer-setup.sha384sum \
# Install Composer 2 and expose `composer` as a symlink to it.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer2 --2 \
&& ln -s /usr/local/bin/composer2 /usr/local/bin/composer \
# Install Composer 1, make it point to a different `$COMPOSER_HOME` directory than Composer 2, install `hirak/prestissimo` plugin.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=.composer1 --1 \
&& printf "#!/bin/sh\nCOMPOSER_HOME=\$COMPOSER1_HOME\nexec /usr/local/bin/.composer1 \$@" > /usr/local/bin/composer1 \
&& chmod 755 /usr/local/bin/composer1 \
&& composer1 global require hirak/prestissimo \
# Remove installer files.
&& rm /opt/composer-setup.php /opt/composer-setup.sha384sum
-57
View File
@@ -1,57 +0,0 @@
FROM php:7.1
LABEL maintainer="dev@chialab.io"
# Download script to install PHP extensions and dependencies
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions
RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y \
curl \
git \
zip unzip \
&& install-php-extensions \
bcmath \
bz2 \
calendar \
exif \
gd \
intl \
ldap \
mcrypt \
memcached \
mysqli \
opcache \
pdo_mysql \
pdo_pgsql \
pgsql \
redis \
soap \
xsl \
zip \
sockets
# already installed:
# iconv \
# mbstring \
# Install Composer.
ENV PATH=$PATH:/root/composer2/vendor/bin:/root/composer1/vendor/bin \
COMPOSER_ALLOW_SUPERUSER=1 \
COMPOSER_HOME=/root/composer2 \
COMPOSER1_HOME=/root/composer1
RUN cd /opt \
# Download installer and check for its integrity.
&& curl -sSL https://getcomposer.org/installer > composer-setup.php \
&& curl -sSL https://composer.github.io/installer.sha384sum > composer-setup.sha384sum \
&& sha384sum --check composer-setup.sha384sum \
# Install Composer 2 and expose `composer` as a symlink to it.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer2 --2 \
&& ln -s /usr/local/bin/composer2 /usr/local/bin/composer \
# Install Composer 1, make it point to a different `$COMPOSER_HOME` directory than Composer 2, install `hirak/prestissimo` plugin.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=.composer1 --1 \
&& printf "#!/bin/sh\nCOMPOSER_HOME=\$COMPOSER1_HOME\nexec /usr/local/bin/.composer1 \$@" > /usr/local/bin/composer1 \
&& chmod 755 /usr/local/bin/composer1 \
&& composer1 global require hirak/prestissimo \
# Remove installer files.
&& rm /opt/composer-setup.php /opt/composer-setup.sha384sum
-58
View File
@@ -1,58 +0,0 @@
FROM php:7.1-apache
LABEL maintainer="dev@chialab.io"
# Download script to install PHP extensions and dependencies
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions
RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y \
curl \
git \
zip unzip \
&& install-php-extensions \
bcmath \
bz2 \
calendar \
exif \
gd \
intl \
ldap \
mcrypt \
memcached \
mysqli \
opcache \
pdo_mysql \
pdo_pgsql \
pgsql \
redis \
soap \
xsl \
zip \
sockets \
# already installed:
# iconv \
# mbstring \
&& a2enmod rewrite
# Install Composer.
ENV PATH=$PATH:/root/composer2/vendor/bin:/root/composer1/vendor/bin \
COMPOSER_ALLOW_SUPERUSER=1 \
COMPOSER_HOME=/root/composer2 \
COMPOSER1_HOME=/root/composer1
RUN cd /opt \
# Download installer and check for its integrity.
&& curl -sSL https://getcomposer.org/installer > composer-setup.php \
&& curl -sSL https://composer.github.io/installer.sha384sum > composer-setup.sha384sum \
&& sha384sum --check composer-setup.sha384sum \
# Install Composer 2 and expose `composer` as a symlink to it.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer2 --2 \
&& ln -s /usr/local/bin/composer2 /usr/local/bin/composer \
# Install Composer 1, make it point to a different `$COMPOSER_HOME` directory than Composer 2, install `hirak/prestissimo` plugin.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=.composer1 --1 \
&& printf "#!/bin/sh\nCOMPOSER_HOME=\$COMPOSER1_HOME\nexec /usr/local/bin/.composer1 \$@" > /usr/local/bin/composer1 \
&& chmod 755 /usr/local/bin/composer1 \
&& composer1 global require hirak/prestissimo \
# Remove installer files.
&& rm /opt/composer-setup.php /opt/composer-setup.sha384sum
-57
View File
@@ -1,57 +0,0 @@
FROM php:7.1-fpm
LABEL maintainer="dev@chialab.io"
# Download script to install PHP extensions and dependencies
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions
RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y \
curl \
git \
zip unzip \
&& install-php-extensions \
bcmath \
bz2 \
calendar \
exif \
gd \
intl \
ldap \
mcrypt \
memcached \
mysqli \
opcache \
pdo_mysql \
pdo_pgsql \
pgsql \
redis \
soap \
xsl \
zip \
sockets
# already installed:
# iconv \
# mbstring \
# Install Composer.
ENV PATH=$PATH:/root/composer2/vendor/bin:/root/composer1/vendor/bin \
COMPOSER_ALLOW_SUPERUSER=1 \
COMPOSER_HOME=/root/composer2 \
COMPOSER1_HOME=/root/composer1
RUN cd /opt \
# Download installer and check for its integrity.
&& curl -sSL https://getcomposer.org/installer > composer-setup.php \
&& curl -sSL https://composer.github.io/installer.sha384sum > composer-setup.sha384sum \
&& sha384sum --check composer-setup.sha384sum \
# Install Composer 2 and expose `composer` as a symlink to it.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer2 --2 \
&& ln -s /usr/local/bin/composer2 /usr/local/bin/composer \
# Install Composer 1, make it point to a different `$COMPOSER_HOME` directory than Composer 2, install `hirak/prestissimo` plugin.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=.composer1 --1 \
&& printf "#!/bin/sh\nCOMPOSER_HOME=\$COMPOSER1_HOME\nexec /usr/local/bin/.composer1 \$@" > /usr/local/bin/composer1 \
&& chmod 755 /usr/local/bin/composer1 \
&& composer1 global require hirak/prestissimo \
# Remove installer files.
&& rm /opt/composer-setup.php /opt/composer-setup.sha384sum
-56
View File
@@ -1,56 +0,0 @@
FROM php:7.2
LABEL maintainer="dev@chialab.io"
# Download script to install PHP extensions and dependencies
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions
RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y \
curl \
git \
zip unzip \
&& install-php-extensions \
bcmath \
bz2 \
calendar \
exif \
gd \
intl \
ldap \
memcached \
mysqli \
opcache \
pdo_mysql \
pdo_pgsql \
pgsql \
redis \
soap \
xsl \
zip \
sockets
# already installed:
# iconv \
# mbstring \
# Install Composer.
ENV PATH=$PATH:/root/composer2/vendor/bin:/root/composer1/vendor/bin \
COMPOSER_ALLOW_SUPERUSER=1 \
COMPOSER_HOME=/root/composer2 \
COMPOSER1_HOME=/root/composer1
RUN cd /opt \
# Download installer and check for its integrity.
&& curl -sSL https://getcomposer.org/installer > composer-setup.php \
&& curl -sSL https://composer.github.io/installer.sha384sum > composer-setup.sha384sum \
&& sha384sum --check composer-setup.sha384sum \
# Install Composer 2 and expose `composer` as a symlink to it.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer2 --2 \
&& ln -s /usr/local/bin/composer2 /usr/local/bin/composer \
# Install Composer 1, make it point to a different `$COMPOSER_HOME` directory than Composer 2, install `hirak/prestissimo` plugin.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=.composer1 --1 \
&& printf "#!/bin/sh\nCOMPOSER_HOME=\$COMPOSER1_HOME\nexec /usr/local/bin/.composer1 \$@" > /usr/local/bin/composer1 \
&& chmod 755 /usr/local/bin/composer1 \
&& composer1 global require hirak/prestissimo \
# Remove installer files.
&& rm /opt/composer-setup.php /opt/composer-setup.sha384sum
-57
View File
@@ -1,57 +0,0 @@
FROM php:7.2-apache
LABEL maintainer="dev@chialab.io"
# Download script to install PHP extensions and dependencies
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions
RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y \
curl \
git \
zip unzip \
&& install-php-extensions \
bcmath \
bz2 \
calendar \
exif \
gd \
intl \
ldap \
memcached \
mysqli \
opcache \
pdo_mysql \
pdo_pgsql \
pgsql \
redis \
soap \
xsl \
zip \
sockets \
# already installed:
# iconv \
# mbstring \
&& a2enmod rewrite
# Install Composer.
ENV PATH=$PATH:/root/composer2/vendor/bin:/root/composer1/vendor/bin \
COMPOSER_ALLOW_SUPERUSER=1 \
COMPOSER_HOME=/root/composer2 \
COMPOSER1_HOME=/root/composer1
RUN cd /opt \
# Download installer and check for its integrity.
&& curl -sSL https://getcomposer.org/installer > composer-setup.php \
&& curl -sSL https://composer.github.io/installer.sha384sum > composer-setup.sha384sum \
&& sha384sum --check composer-setup.sha384sum \
# Install Composer 2 and expose `composer` as a symlink to it.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer2 --2 \
&& ln -s /usr/local/bin/composer2 /usr/local/bin/composer \
# Install Composer 1, make it point to a different `$COMPOSER_HOME` directory than Composer 2, install `hirak/prestissimo` plugin.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=.composer1 --1 \
&& printf "#!/bin/sh\nCOMPOSER_HOME=\$COMPOSER1_HOME\nexec /usr/local/bin/.composer1 \$@" > /usr/local/bin/composer1 \
&& chmod 755 /usr/local/bin/composer1 \
&& composer1 global require hirak/prestissimo \
# Remove installer files.
&& rm /opt/composer-setup.php /opt/composer-setup.sha384sum
-56
View File
@@ -1,56 +0,0 @@
FROM php:7.2-fpm
LABEL maintainer="dev@chialab.io"
# Download script to install PHP extensions and dependencies
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions
RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y \
curl \
git \
zip unzip \
&& install-php-extensions \
bcmath \
bz2 \
calendar \
exif \
gd \
intl \
ldap \
memcached \
mysqli \
opcache \
pdo_mysql \
pdo_pgsql \
pgsql \
redis \
soap \
xsl \
zip \
sockets
# already installed:
# iconv \
# mbstring \
# Install Composer.
ENV PATH=$PATH:/root/composer2/vendor/bin:/root/composer1/vendor/bin \
COMPOSER_ALLOW_SUPERUSER=1 \
COMPOSER_HOME=/root/composer2 \
COMPOSER1_HOME=/root/composer1
RUN cd /opt \
# Download installer and check for its integrity.
&& curl -sSL https://getcomposer.org/installer > composer-setup.php \
&& curl -sSL https://composer.github.io/installer.sha384sum > composer-setup.sha384sum \
&& sha384sum --check composer-setup.sha384sum \
# Install Composer 2 and expose `composer` as a symlink to it.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer2 --2 \
&& ln -s /usr/local/bin/composer2 /usr/local/bin/composer \
# Install Composer 1, make it point to a different `$COMPOSER_HOME` directory than Composer 2, install `hirak/prestissimo` plugin.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=.composer1 --1 \
&& printf "#!/bin/sh\nCOMPOSER_HOME=\$COMPOSER1_HOME\nexec /usr/local/bin/.composer1 \$@" > /usr/local/bin/composer1 \
&& chmod 755 /usr/local/bin/composer1 \
&& composer1 global require hirak/prestissimo \
# Remove installer files.
&& rm /opt/composer-setup.php /opt/composer-setup.sha384sum
-56
View File
@@ -1,56 +0,0 @@
FROM php:7.3
LABEL maintainer="dev@chialab.io"
# Download script to install PHP extensions and dependencies
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions
RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y \
curl \
git \
zip unzip \
&& install-php-extensions \
bcmath \
bz2 \
calendar \
exif \
gd \
intl \
ldap \
memcached \
mysqli \
opcache \
pdo_mysql \
pdo_pgsql \
pgsql \
redis \
soap \
xsl \
zip \
sockets
# already installed:
# iconv \
# mbstring \
# Install Composer.
ENV PATH=$PATH:/root/composer2/vendor/bin:/root/composer1/vendor/bin \
COMPOSER_ALLOW_SUPERUSER=1 \
COMPOSER_HOME=/root/composer2 \
COMPOSER1_HOME=/root/composer1
RUN cd /opt \
# Download installer and check for its integrity.
&& curl -sSL https://getcomposer.org/installer > composer-setup.php \
&& curl -sSL https://composer.github.io/installer.sha384sum > composer-setup.sha384sum \
&& sha384sum --check composer-setup.sha384sum \
# Install Composer 2 and expose `composer` as a symlink to it.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer2 --2 \
&& ln -s /usr/local/bin/composer2 /usr/local/bin/composer \
# Install Composer 1, make it point to a different `$COMPOSER_HOME` directory than Composer 2, install `hirak/prestissimo` plugin.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=.composer1 --1 \
&& printf "#!/bin/sh\nCOMPOSER_HOME=\$COMPOSER1_HOME\nexec /usr/local/bin/.composer1 \$@" > /usr/local/bin/composer1 \
&& chmod 755 /usr/local/bin/composer1 \
&& composer1 global require hirak/prestissimo \
# Remove installer files.
&& rm /opt/composer-setup.php /opt/composer-setup.sha384sum
-57
View File
@@ -1,57 +0,0 @@
FROM php:7.3-apache
LABEL maintainer="dev@chialab.io"
# Download script to install PHP extensions and dependencies
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions
RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y \
curl \
git \
zip unzip \
&& install-php-extensions \
bcmath \
bz2 \
calendar \
exif \
gd \
intl \
ldap \
memcached \
mysqli \
opcache \
pdo_mysql \
pdo_pgsql \
pgsql \
redis \
soap \
xsl \
zip \
sockets \
# already installed:
# iconv \
# mbstring \
&& a2enmod rewrite
# Install Composer.
ENV PATH=$PATH:/root/composer2/vendor/bin:/root/composer1/vendor/bin \
COMPOSER_ALLOW_SUPERUSER=1 \
COMPOSER_HOME=/root/composer2 \
COMPOSER1_HOME=/root/composer1
RUN cd /opt \
# Download installer and check for its integrity.
&& curl -sSL https://getcomposer.org/installer > composer-setup.php \
&& curl -sSL https://composer.github.io/installer.sha384sum > composer-setup.sha384sum \
&& sha384sum --check composer-setup.sha384sum \
# Install Composer 2 and expose `composer` as a symlink to it.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer2 --2 \
&& ln -s /usr/local/bin/composer2 /usr/local/bin/composer \
# Install Composer 1, make it point to a different `$COMPOSER_HOME` directory than Composer 2, install `hirak/prestissimo` plugin.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=.composer1 --1 \
&& printf "#!/bin/sh\nCOMPOSER_HOME=\$COMPOSER1_HOME\nexec /usr/local/bin/.composer1 \$@" > /usr/local/bin/composer1 \
&& chmod 755 /usr/local/bin/composer1 \
&& composer1 global require hirak/prestissimo \
# Remove installer files.
&& rm /opt/composer-setup.php /opt/composer-setup.sha384sum
-56
View File
@@ -1,56 +0,0 @@
FROM php:7.3-fpm
LABEL maintainer="dev@chialab.io"
# Download script to install PHP extensions and dependencies
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions
RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y \
curl \
git \
zip unzip \
&& install-php-extensions \
bcmath \
bz2 \
calendar \
exif \
gd \
intl \
ldap \
memcached \
mysqli \
opcache \
pdo_mysql \
pdo_pgsql \
pgsql \
redis \
soap \
xsl \
zip \
sockets
# already installed:
# iconv \
# mbstring \
# Install Composer.
ENV PATH=$PATH:/root/composer2/vendor/bin:/root/composer1/vendor/bin \
COMPOSER_ALLOW_SUPERUSER=1 \
COMPOSER_HOME=/root/composer2 \
COMPOSER1_HOME=/root/composer1
RUN cd /opt \
# Download installer and check for its integrity.
&& curl -sSL https://getcomposer.org/installer > composer-setup.php \
&& curl -sSL https://composer.github.io/installer.sha384sum > composer-setup.sha384sum \
&& sha384sum --check composer-setup.sha384sum \
# Install Composer 2 and expose `composer` as a symlink to it.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer2 --2 \
&& ln -s /usr/local/bin/composer2 /usr/local/bin/composer \
# Install Composer 1, make it point to a different `$COMPOSER_HOME` directory than Composer 2, install `hirak/prestissimo` plugin.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=.composer1 --1 \
&& printf "#!/bin/sh\nCOMPOSER_HOME=\$COMPOSER1_HOME\nexec /usr/local/bin/.composer1 \$@" > /usr/local/bin/composer1 \
&& chmod 755 /usr/local/bin/composer1 \
&& composer1 global require hirak/prestissimo \
# Remove installer files.
&& rm /opt/composer-setup.php /opt/composer-setup.sha384sum
-56
View File
@@ -1,56 +0,0 @@
FROM php:7.4
LABEL maintainer="dev@chialab.io"
# Download script to install PHP extensions and dependencies
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions
RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y \
curl \
git \
zip unzip \
&& install-php-extensions \
bcmath \
bz2 \
calendar \
exif \
gd \
intl \
ldap \
memcached \
mysqli \
opcache \
pdo_mysql \
pdo_pgsql \
pgsql \
redis \
soap \
xsl \
zip \
sockets
# already installed:
# iconv \
# mbstring \
# Install Composer.
ENV PATH=$PATH:/root/composer2/vendor/bin:/root/composer1/vendor/bin \
COMPOSER_ALLOW_SUPERUSER=1 \
COMPOSER_HOME=/root/composer2 \
COMPOSER1_HOME=/root/composer1
RUN cd /opt \
# Download installer and check for its integrity.
&& curl -sSL https://getcomposer.org/installer > composer-setup.php \
&& curl -sSL https://composer.github.io/installer.sha384sum > composer-setup.sha384sum \
&& sha384sum --check composer-setup.sha384sum \
# Install Composer 2 and expose `composer` as a symlink to it.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer2 --2 \
&& ln -s /usr/local/bin/composer2 /usr/local/bin/composer \
# Install Composer 1, make it point to a different `$COMPOSER_HOME` directory than Composer 2, install `hirak/prestissimo` plugin.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=.composer1 --1 \
&& printf "#!/bin/sh\nCOMPOSER_HOME=\$COMPOSER1_HOME\nexec /usr/local/bin/.composer1 \$@" > /usr/local/bin/composer1 \
&& chmod 755 /usr/local/bin/composer1 \
&& composer1 global require hirak/prestissimo \
# Remove installer files.
&& rm /opt/composer-setup.php /opt/composer-setup.sha384sum
-57
View File
@@ -1,57 +0,0 @@
FROM php:7.4-apache
LABEL maintainer="dev@chialab.io"
# Download script to install PHP extensions and dependencies
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions
RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y \
curl \
git \
zip unzip \
&& install-php-extensions \
bcmath \
bz2 \
calendar \
exif \
gd \
intl \
ldap \
memcached \
mysqli \
opcache \
pdo_mysql \
pdo_pgsql \
pgsql \
redis \
soap \
xsl \
zip \
sockets \
# already installed:
# iconv \
# mbstring \
&& a2enmod rewrite
# Install Composer.
ENV PATH=$PATH:/root/composer2/vendor/bin:/root/composer1/vendor/bin \
COMPOSER_ALLOW_SUPERUSER=1 \
COMPOSER_HOME=/root/composer2 \
COMPOSER1_HOME=/root/composer1
RUN cd /opt \
# Download installer and check for its integrity.
&& curl -sSL https://getcomposer.org/installer > composer-setup.php \
&& curl -sSL https://composer.github.io/installer.sha384sum > composer-setup.sha384sum \
&& sha384sum --check composer-setup.sha384sum \
# Install Composer 2 and expose `composer` as a symlink to it.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer2 --2 \
&& ln -s /usr/local/bin/composer2 /usr/local/bin/composer \
# Install Composer 1, make it point to a different `$COMPOSER_HOME` directory than Composer 2, install `hirak/prestissimo` plugin.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=.composer1 --1 \
&& printf "#!/bin/sh\nCOMPOSER_HOME=\$COMPOSER1_HOME\nexec /usr/local/bin/.composer1 \$@" > /usr/local/bin/composer1 \
&& chmod 755 /usr/local/bin/composer1 \
&& composer1 global require hirak/prestissimo \
# Remove installer files.
&& rm /opt/composer-setup.php /opt/composer-setup.sha384sum
-56
View File
@@ -1,56 +0,0 @@
FROM php:7.4-fpm
LABEL maintainer="dev@chialab.io"
# Download script to install PHP extensions and dependencies
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions
RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y \
curl \
git \
zip unzip \
&& install-php-extensions \
bcmath \
bz2 \
calendar \
exif \
gd \
intl \
ldap \
memcached \
mysqli \
opcache \
pdo_mysql \
pdo_pgsql \
pgsql \
redis \
soap \
xsl \
zip \
sockets
# already installed:
# iconv \
# mbstring \
# Install Composer.
ENV PATH=$PATH:/root/composer2/vendor/bin:/root/composer1/vendor/bin \
COMPOSER_ALLOW_SUPERUSER=1 \
COMPOSER_HOME=/root/composer2 \
COMPOSER1_HOME=/root/composer1
RUN cd /opt \
# Download installer and check for its integrity.
&& curl -sSL https://getcomposer.org/installer > composer-setup.php \
&& curl -sSL https://composer.github.io/installer.sha384sum > composer-setup.sha384sum \
&& sha384sum --check composer-setup.sha384sum \
# Install Composer 2 and expose `composer` as a symlink to it.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer2 --2 \
&& ln -s /usr/local/bin/composer2 /usr/local/bin/composer \
# Install Composer 1, make it point to a different `$COMPOSER_HOME` directory than Composer 2, install `hirak/prestissimo` plugin.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=.composer1 --1 \
&& printf "#!/bin/sh\nCOMPOSER_HOME=\$COMPOSER1_HOME\nexec /usr/local/bin/.composer1 \$@" > /usr/local/bin/composer1 \
&& chmod 755 /usr/local/bin/composer1 \
&& composer1 global require hirak/prestissimo \
# Remove installer files.
&& rm /opt/composer-setup.php /opt/composer-setup.sha384sum
-56
View File
@@ -1,56 +0,0 @@
FROM php:8.0
LABEL maintainer="dev@chialab.io"
# Download script to install PHP extensions and dependencies
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions
RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y \
curl \
git \
zip unzip \
&& install-php-extensions \
bcmath \
bz2 \
calendar \
exif \
gd \
intl \
ldap \
memcached \
mysqli \
opcache \
pdo_mysql \
pdo_pgsql \
pgsql \
redis \
soap \
xsl \
zip \
sockets
# already installed:
# iconv \
# mbstring \
# Install Composer.
ENV PATH=$PATH:/root/composer2/vendor/bin:/root/composer1/vendor/bin \
COMPOSER_ALLOW_SUPERUSER=1 \
COMPOSER_HOME=/root/composer2 \
COMPOSER1_HOME=/root/composer1
RUN cd /opt \
# Download installer and check for its integrity.
&& curl -sSL https://getcomposer.org/installer > composer-setup.php \
&& curl -sSL https://composer.github.io/installer.sha384sum > composer-setup.sha384sum \
&& sha384sum --check composer-setup.sha384sum \
# Install Composer 2 and expose `composer` as a symlink to it.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer2 --2 \
&& ln -s /usr/local/bin/composer2 /usr/local/bin/composer \
# Install Composer 1, make it point to a different `$COMPOSER_HOME` directory than Composer 2, install `hirak/prestissimo` plugin.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=.composer1 --1 \
&& printf "#!/bin/sh\nCOMPOSER_HOME=\$COMPOSER1_HOME\nexec /usr/local/bin/.composer1 \$@" > /usr/local/bin/composer1 \
&& chmod 755 /usr/local/bin/composer1 \
&& composer1 global require hirak/prestissimo \
# Remove installer files.
&& rm /opt/composer-setup.php /opt/composer-setup.sha384sum
-57
View File
@@ -1,57 +0,0 @@
FROM php:8.0-apache
LABEL maintainer="dev@chialab.io"
# Download script to install PHP extensions and dependencies
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions
RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y \
curl \
git \
zip unzip \
&& install-php-extensions \
bcmath \
bz2 \
calendar \
exif \
gd \
intl \
ldap \
memcached \
mysqli \
opcache \
pdo_mysql \
pdo_pgsql \
pgsql \
redis \
soap \
xsl \
zip \
sockets \
# already installed:
# iconv \
# mbstring \
&& a2enmod rewrite
# Install Composer.
ENV PATH=$PATH:/root/composer2/vendor/bin:/root/composer1/vendor/bin \
COMPOSER_ALLOW_SUPERUSER=1 \
COMPOSER_HOME=/root/composer2 \
COMPOSER1_HOME=/root/composer1
RUN cd /opt \
# Download installer and check for its integrity.
&& curl -sSL https://getcomposer.org/installer > composer-setup.php \
&& curl -sSL https://composer.github.io/installer.sha384sum > composer-setup.sha384sum \
&& sha384sum --check composer-setup.sha384sum \
# Install Composer 2 and expose `composer` as a symlink to it.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer2 --2 \
&& ln -s /usr/local/bin/composer2 /usr/local/bin/composer \
# Install Composer 1, make it point to a different `$COMPOSER_HOME` directory than Composer 2, install `hirak/prestissimo` plugin.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=.composer1 --1 \
&& printf "#!/bin/sh\nCOMPOSER_HOME=\$COMPOSER1_HOME\nexec /usr/local/bin/.composer1 \$@" > /usr/local/bin/composer1 \
&& chmod 755 /usr/local/bin/composer1 \
&& composer1 global require hirak/prestissimo \
# Remove installer files.
&& rm /opt/composer-setup.php /opt/composer-setup.sha384sum
-56
View File
@@ -1,56 +0,0 @@
FROM php:8.0-fpm
LABEL maintainer="dev@chialab.io"
# Download script to install PHP extensions and dependencies
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions
RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y \
curl \
git \
zip unzip \
&& install-php-extensions \
bcmath \
bz2 \
calendar \
exif \
gd \
intl \
ldap \
memcached \
mysqli \
opcache \
pdo_mysql \
pdo_pgsql \
pgsql \
redis \
soap \
xsl \
zip \
sockets
# already installed:
# iconv \
# mbstring \
# Install Composer.
ENV PATH=$PATH:/root/composer2/vendor/bin:/root/composer1/vendor/bin \
COMPOSER_ALLOW_SUPERUSER=1 \
COMPOSER_HOME=/root/composer2 \
COMPOSER1_HOME=/root/composer1
RUN cd /opt \
# Download installer and check for its integrity.
&& curl -sSL https://getcomposer.org/installer > composer-setup.php \
&& curl -sSL https://composer.github.io/installer.sha384sum > composer-setup.sha384sum \
&& sha384sum --check composer-setup.sha384sum \
# Install Composer 2 and expose `composer` as a symlink to it.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer2 --2 \
&& ln -s /usr/local/bin/composer2 /usr/local/bin/composer \
# Install Composer 1, make it point to a different `$COMPOSER_HOME` directory than Composer 2, install `hirak/prestissimo` plugin.
&& php composer-setup.php --install-dir=/usr/local/bin --filename=.composer1 --1 \
&& printf "#!/bin/sh\nCOMPOSER_HOME=\$COMPOSER1_HOME\nexec /usr/local/bin/.composer1 \$@" > /usr/local/bin/composer1 \
&& chmod 755 /usr/local/bin/composer1 \
&& composer1 global require hirak/prestissimo \
# Remove installer files.
&& rm /opt/composer-setup.php /opt/composer-setup.sha384sum
+12 -6
View File
@@ -1,4 +1,5 @@
FROM php:latest
ARG BASE_IMAGE=latest
FROM php:${BASE_IMAGE}
LABEL maintainer="dev@chialab.io"
# Download script to install PHP extensions and dependencies
@@ -11,7 +12,8 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
curl \
git \
zip unzip \
&& install-php-extensions \
# iconv, mbstring and pdo_sqlite are omitted as they are already installed
&& PHP_EXTENSIONS=" \
bcmath \
bz2 \
calendar \
@@ -27,12 +29,16 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
pgsql \
redis \
soap \
sockets \
xsl \
zip \
sockets
# already installed:
# iconv \
# mbstring \
" \
&& case "$PHP_VERSION" in \
5.6.*) PHP_EXTENSIONS="$PHP_EXTENSIONS mcrypt mysql";; \
7.0.*|7.1.*) PHP_EXTENSIONS="$PHP_EXTENSIONS mcrypt";; \
esac \
&& install-php-extensions $PHP_EXTENSIONS \
&& if command -v a2enmod; then a2enmod rewrite; fi
# Install Composer.
ENV PATH=$PATH:/root/composer2/vendor/bin:/root/composer1/vendor/bin \
+1 -5
View File
@@ -40,11 +40,7 @@ endif
build:
@echo " =====> Building $(IMAGE):$(VERSION)..."
@dir="$(subst -,/,$(VERSION))"; \
if [[ "$(VERSION)" == 'latest' ]]; then \
dir='.'; \
fi; \
docker image build --quiet -t $(IMAGE):$(VERSION) $${dir}
docker image build --quiet --build-arg 'BASE_IMAGE=$(VERSION)' -t $(IMAGE):$(VERSION) .
test:
@echo -e "=====> Testing loaded extensions... \c"
+23 -23
View File
@@ -24,29 +24,29 @@ An automated build is set up, so they should be always up-to-date with the Docke
For development environments, you might want to choose an [image with XDebug installed](https://hub.docker.com/r/chialab/php-dev/), instead.
## Available tags and `Dockerfile` links
- [`latest` (_Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/Dockerfile)
- [`5.6` (_5.6/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/5.6/Dockerfile)
- [`5.6-apache` (_5.6/apache/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/5.6/apache/Dockerfile)
- [`5.6-fpm` (_5.6/fpm/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/5.6/fpm/Dockerfile)
- [`7.0` (_7.0/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/7.0/Dockerfile)
- [`7.0-apache` (_7.0/apache/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/7.0/apache/Dockerfile)
- [`7.0-fpm` (_7.0/fpm/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/7.0/fpm/Dockerfile)
- [`7.1` (_7.1/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/7.1/Dockerfile)
- [`7.1-apache` (_7.1/apache/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/7.1/apache/Dockerfile)
- [`7.1-fpm` (_7.1/fpm/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/7.1/fpm/Dockerfile)
- [`7.2` (_7.2/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/7.2/Dockerfile)
- [`7.2-apache` (_7.2/apache/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/7.2/apache/Dockerfile)
- [`7.2-fpm` (_7.2/fpm/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/7.2/fpm/Dockerfile)
- [`7.3` (_7.3/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/7.3/Dockerfile)
- [`7.3-apache` (_7.3/apache/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/7.3/apache/Dockerfile)
- [`7.3-fpm` (_7.3/fpm/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/7.3/fpm/Dockerfile)
- [`7.4` (_7.4/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/7.4/Dockerfile)
- [`7.4-apache` (_7.4/apache/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/7.4/apache/Dockerfile)
- [`7.4-fpm` (_7.4/fpm/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/7.4/fpm/Dockerfile)
- [`8.0` (_8.0/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/8.0/Dockerfile)
- [`8.0-apache` (_8.0/apache/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/8.0/apache/Dockerfile)
- [`8.0-fpm` (_8.0/fpm/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/8.0/fpm/Dockerfile)
## Available tags
- `latest`
- `5.6`
- `5.6-apache`
- `5.6-fpm`
- `7.0`
- `7.0-apache`
- `7.0-fpm`
- `7.1`
- `7.1-apache`
- `7.1-fpm`
- `7.2`
- `7.2-apache`
- `7.2-fpm`
- `7.3`
- `7.3-apache`
- `7.3-fpm`
- `7.4`
- `7.4-apache`
- `7.4-fpm`
- `8.0`
- `8.0-apache`
- `8.0-fpm`
As you might have guessed, all tags are built on top of the corresponding tag of the official image. Not all tags are supported in order to easen manteinance.
-5
View File
@@ -1,5 +0,0 @@
FROM chialab/php:5.6
LABEL maintainer="dev@chialab.io"
# Install XDebug.
RUN install-php-extensions xdebug
-5
View File
@@ -1,5 +0,0 @@
FROM chialab/php:5.6-apache
LABEL maintainer="dev@chialab.io"
# Install XDebug.
RUN install-php-extensions xdebug
-5
View File
@@ -1,5 +0,0 @@
FROM chialab/php:5.6-fpm
LABEL maintainer="dev@chialab.io"
# Install XDebug.
RUN install-php-extensions xdebug
-5
View File
@@ -1,5 +0,0 @@
FROM chialab/php:7.0
LABEL maintainer="dev@chialab.io"
# Install XDebug.
RUN install-php-extensions xdebug
-5
View File
@@ -1,5 +0,0 @@
FROM chialab/php:7.0-apache
LABEL maintainer="dev@chialab.io"
# Install XDebug.
RUN install-php-extensions xdebug
-5
View File
@@ -1,5 +0,0 @@
FROM chialab/php:7.0-fpm
LABEL maintainer="dev@chialab.io"
# Install XDebug.
RUN install-php-extensions xdebug
-5
View File
@@ -1,5 +0,0 @@
FROM chialab/php:7.1
LABEL maintainer="dev@chialab.io"
# Install XDebug.
RUN install-php-extensions xdebug
-5
View File
@@ -1,5 +0,0 @@
FROM chialab/php:7.1-apache
LABEL maintainer="dev@chialab.io"
# Install XDebug.
RUN install-php-extensions xdebug
-5
View File
@@ -1,5 +0,0 @@
FROM chialab/php:7.1-fpm
LABEL maintainer="dev@chialab.io"
# Install XDebug.
RUN install-php-extensions xdebug
-5
View File
@@ -1,5 +0,0 @@
FROM chialab/php:7.2
LABEL maintainer="dev@chialab.io"
# Install XDebug.
RUN install-php-extensions xdebug
-5
View File
@@ -1,5 +0,0 @@
FROM chialab/php:7.2-apache
LABEL maintainer="dev@chialab.io"
# Install XDebug.
RUN install-php-extensions xdebug
-5
View File
@@ -1,5 +0,0 @@
FROM chialab/php:7.2-fpm
LABEL maintainer="dev@chialab.io"
# Install XDebug.
RUN install-php-extensions xdebug
-5
View File
@@ -1,5 +0,0 @@
FROM chialab/php:7.3
LABEL maintainer="dev@chialab.io"
# Install XDebug.
RUN install-php-extensions xdebug
-5
View File
@@ -1,5 +0,0 @@
FROM chialab/php:7.3-apache
LABEL maintainer="dev@chialab.io"
# Install XDebug.
RUN install-php-extensions xdebug
-5
View File
@@ -1,5 +0,0 @@
FROM chialab/php:7.3-fpm
LABEL maintainer="dev@chialab.io"
# Install XDebug.
RUN install-php-extensions xdebug
-5
View File
@@ -1,5 +0,0 @@
FROM chialab/php:7.4
LABEL maintainer="dev@chialab.io"
# Install XDebug.
RUN install-php-extensions xdebug
-5
View File
@@ -1,5 +0,0 @@
FROM chialab/php:7.4-apache
LABEL maintainer="dev@chialab.io"
# Install XDebug.
RUN install-php-extensions xdebug
-5
View File
@@ -1,5 +0,0 @@
FROM chialab/php:7.4-fpm
LABEL maintainer="dev@chialab.io"
# Install XDebug.
RUN install-php-extensions xdebug
-5
View File
@@ -1,5 +0,0 @@
FROM chialab/php:8.0
LABEL maintainer="dev@chialab.io"
# Install XDebug.
RUN install-php-extensions xdebug
-5
View File
@@ -1,5 +0,0 @@
FROM chialab/php:8.0-apache
LABEL maintainer="dev@chialab.io"
# Install XDebug.
RUN install-php-extensions xdebug
-5
View File
@@ -1,5 +0,0 @@
FROM chialab/php:8.0-fpm
LABEL maintainer="dev@chialab.io"
# Install XDebug.
RUN install-php-extensions xdebug
+2 -1
View File
@@ -1,4 +1,5 @@
FROM chialab/php:latest
ARG BASE_IMAGE=latest
FROM chialab/php:${BASE_IMAGE}
LABEL maintainer="dev@chialab.io"
# Install XDebug.
+1 -5
View File
@@ -41,11 +41,7 @@ endif
build:
@echo " =====> Building $(IMAGE):$(VERSION)..."
@dir="$(subst -,/,$(VERSION))"; \
if [[ "$(VERSION)" == 'latest' ]]; then \
dir='.'; \
fi; \
docker image build --quiet -t $(IMAGE):$(VERSION) $${dir}
docker image build --quiet --build-arg 'BASE_IMAGE=$(VERSION)' -t $(IMAGE):$(VERSION) .
test:
@echo -e "=====> Testing loaded extensions... \c"
+20 -20
View File
@@ -8,26 +8,26 @@ An automated build is set up, so they should be always up-to-date with the Docke
For more production-like environments, you might want to choose an [image *without* XDebug installed](https://hub.docker.com/r/chialab/php/), instead.
## Available tags and `Dockerfile` links
- [`latest` (_dev/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/dev/Dockerfile)
- [`5.6` (_dev/5.6/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/dev/5.6/Dockerfile)
- [`5.6-apache` (_dev/5.6/apache/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/dev/5.6/apache/Dockerfile)
- [`5.6-fpm` (_dev/5.6/fpm/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/dev/5.6/fpm/Dockerfile)
- [`7.0` (_dev/7.0/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/dev/7.0/Dockerfile)
- [`7.0-apache` (_dev/7.0/apache/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/dev/7.0/apache/Dockerfile)
- [`7.0-fpm` (_dev/7.0/fpm/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/dev/7.0/fpm/Dockerfile)
- [`7.1` (_dev/7.1/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/dev/7.1/Dockerfile)
- [`7.1-apache` (_dev/7.1/apache/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/dev/7.1/apache/Dockerfile)
- [`7.1-fpm` (_dev/7.1/fpm/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/dev/7.1/fpm/Dockerfile)
- [`7.2` (_dev/7.2/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/dev/7.2/Dockerfile)
- [`7.2-apache` (_dev/7.2/apache/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/dev/7.2/apache/Dockerfile)
- [`7.2-fpm` (_dev/7.2/fpm/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/dev/7.2/fpm/Dockerfile)
- [`7.3` (_dev/7.3/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/dev/7.3/Dockerfile)
- [`7.3-apache` (_dev/7.3/apache/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/dev/7.3/apache/Dockerfile)
- [`7.3-fpm` (_dev/7.3/fpm/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/dev/7.3/fpm/Dockerfile)
- [`7.4` (_dev/7.4/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/dev/7.4/Dockerfile)
- [`7.4-apache` (_dev/7.4/apache/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/dev/7.4/apache/Dockerfile)
- [`7.4-fpm` (_dev/7.4/fpm/Dockerfile_)](https://github.com/Chialab/docker-php/blob/master/dev/7.4/fpm/Dockerfile)
## Available tags
- `latest`
- `5.6`
- `5.6-apache`
- `5.6-fpm`
- `7.0`
- `7.0-apache`
- `7.0-fpm`
- `7.1`
- `7.1-apache`
- `7.1-fpm`
- `7.2`
- `7.2-apache`
- `7.2-fpm`
- `7.3`
- `7.3-apache`
- `7.3-fpm`
- `7.4`
- `7.4-apache`
- `7.4-fpm`
As you might have guessed, all tags are built on top of the corresponding tag of the official image. Not all tags are supported in order to easen manteinance.