Created
March 26, 2020 10:12
-
-
Save marcelaraujo/d1f944ae7ce6f16821049762b8b98a37 to your computer and use it in GitHub Desktop.
PHP
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM php:7.3-alpine | |
# This image is ready to build projects using technologies: | |
# - PHP7 (with Lumen) | |
# - Angular v8 | |
# Check stack details in: https://confluence.agile.corp.edp.pt/display/TNG/PHP7 | |
ENV COMPOSER_VERSION=1.9.3 \ | |
COMPOSER_CACHE_DIR=/tmp/.composer/cache \ | |
COMPOSER_MEMORY_LIMIT=2G \ | |
COMPOSER_SHA256=551655c2fc81f4106508f42bbc4b24eabd34b022b13bc1e7d9642bf483d0a7d4 \ | |
PATH=/home/devops/.composer/vendor/bin:$PATH | |
RUN addgroup --gid 1000 -S devops \ | |
&& adduser --uid 1000 -D -G devops -g "devops" devops devops \ | |
&& apk add --no-cache --virtual .build-deps \ | |
make \ | |
g++ \ | |
&& apk add --no-cache \ | |
git \ | |
openssh \ | |
patch \ | |
zip \ | |
unzip | |
# PHP | |
RUN apk add --update --no-cache \ | |
&& pecl channel-update pecl.php.net \ | |
# Opcache | |
&& docker-php-ext-configure opcache --enable-opcache \ | |
&& docker-php-ext-enable opcache \ | |
\ | |
# XDebug | |
&& pecl install xdebug \ | |
&& docker-php-ext-enable xdebug \ | |
\ | |
# gd | |
&& apk add --no-cache freetype-dev libxpm-dev libpng-dev libwebp-dev libjpeg-turbo-dev \ | |
&& docker-php-ext-configure gd \ | |
--with-gd \ | |
--with-freetype-dir=/usr/include/ \ | |
--with-png-dir=/usr/include/ \ | |
--with-jpeg-dir=/usr/include/ \ | |
&& docker-php-ext-install -j$(grep -c ^processor /proc/cpuinfo 2>/dev/null || 1) gd \ | |
\ | |
# bcmath | |
&& docker-php-ext-configure bcmath --enable-bcmath \ | |
&& docker-php-ext-install bcmath \ | |
\ | |
# bzip and zip | |
&& apk add --no-cache libzip-dev bzip2-dev zlib-dev \ | |
&& docker-php-ext-install -j$(grep -c ^processor /proc/cpuinfo 2>/dev/null || 1) bz2 zip \ | |
\ | |
# calendar | |
&& docker-php-ext-install calendar \ | |
\ | |
# dba | |
&& docker-php-ext-install dba \ | |
\ | |
# enchant | |
&& apk add --no-cache enchant-dev \ | |
&& docker-php-ext-install enchant \ | |
\ | |
# exif | |
&& docker-php-ext-install exif \ | |
\ | |
# sockets | |
&& docker-php-ext-install sockets \ | |
\ | |
# soap | |
&& apk add --no-cache libxml2-dev \ | |
&& docker-php-ext-install soap \ | |
\ | |
# shmop | |
&& docker-php-ext-install shmop \ | |
\ | |
# xmlrpc | |
&& docker-php-ext-install xmlrpc \ | |
\ | |
# gettext | |
&& apk add --no-cache gettext-dev \ | |
&& docker-php-ext-install gettext \ | |
\ | |
# gmp | |
&& apk add --no-cache gmp-dev \ | |
&& docker-php-ext-install gmp \ | |
\ | |
# intl | |
&& apk add --no-cache icu-dev \ | |
&& docker-php-ext-configure intl --enable-intl \ | |
&& docker-php-ext-install intl \ | |
\ | |
# tidy | |
&& apk add --no-cache tidyhtml-dev \ | |
&& docker-php-ext-install tidy \ | |
\ | |
# xsl | |
&& apk add --no-cache libxslt-dev \ | |
&& docker-php-ext-install xsl \ | |
\ | |
# pcntl | |
&& docker-php-ext-configure pcntl --enable-pcntl \ | |
&& docker-php-ext-install pcntl \ | |
\ | |
# ldap | |
&& apk add --no-cache openldap-dev \ | |
&& docker-php-ext-configure ldap \ | |
&& docker-php-ext-install ldap \ | |
\ | |
# pgsql and pdo_pgsql | |
&& apk add --no-cache postgresql-dev \ | |
&& docker-php-ext-configure pgsql \ | |
&& docker-php-ext-configure pdo_pgsql \ | |
&& docker-php-ext-install pgsql pdo_pgsql \ | |
\ | |
# mysqli and pdo_mysql | |
&& apk add --no-cache mariadb-dev \ | |
&& docker-php-ext-configure mysqli \ | |
&& docker-php-ext-configure pdo_mysql \ | |
&& docker-php-ext-install mysqli pdo_mysql \ | |
&& rm -rf /var/cache/apk/* \ | |
&& docker-php-source delete \ | |
&& apk del .build-deps | |
# Install composer | |
RUN wget "https://getcomposer.org/download/$COMPOSER_VERSION/composer.phar" -O /usr/local/bin/composer.phar \ | |
&& php -r "if (hash_file('sha256', '/usr/local/bin/composer.phar') === '551655c2fc81f4106508f42bbc4b24eabd34b022b13bc1e7d9642bf483d0a7d4') { echo \"Composer installer verified\n\"; exit(0); } else { echo \"Composer nstaller corrupt\n\"; exit(1); } echo PHP_EOL;" \ | |
&& mv /usr/local/bin/composer.phar /usr/local/bin/composer \ | |
&& chmod +x /usr/local/bin/composer | |
WORKDIR /home/devops/ | |
USER devops | |
# Install Prestissimo plugin and PHPUnit package | |
RUN composer global require hirak/prestissimo "phpunit/phpunit:~8.5.2" \ | |
&& composer global clear-cache |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment