ARG PHP_VERSION=7.4 ARG REGISTRY_URL=docker.io/aprimediet FROM ${REGISTRY_URL}/php:${PHP_VERSION}-alpine LABEL maintainer=" aprimediet@gmail.com" ARG COMPOSER_VERSION=2.8.4 USER root WORKDIR /tmp # Set composer home ENV COMPOSER_HOME=/usr/local/share/composer ENV COMPOSER_CACHE_DIR=${COMPOSER_HOME}/cache # Setup composer user and required directories RUN addgroup -g 10001 composer && \ adduser -D -u 10001 -G composer -s /bin/sh -h /build composer && \ mkdir -p ${COMPOSER_CACHE_DIR}/files && \ mkdir -p ${COMPOSER_CACHE_DIR}/repo && \ mkdir -p ${COMPOSER_CACHE_DIR}/vcs && \ chown -R composer:composer ${COMPOSER_CACHE_DIR} # Update & Upgrade first RUN --mount=type=cache,target=/var/cache/apk \ apk update && apk upgrade && apk add git \ php${PHP_VERSION}-bcmath php${PHP_VERSION}-bz2 \ php${PHP_VERSION}-calendar php${PHP_VERSION}-cgi php${PHP_VERSION}-common \ php${PHP_VERSION}-ctype php${PHP_VERSION}-curl php${PHP_VERSION}-dba \ php${PHP_VERSION}-dev php${PHP_VERSION}-dom \ php${PHP_VERSION}-embed php${PHP_VERSION}-enchant php${PHP_VERSION}-exif \ php${PHP_VERSION}-ftp \ php${PHP_VERSION}-gd php${PHP_VERSION}-gettext php${PHP_VERSION}-gmp \ php${PHP_VERSION}-intl php${PHP_VERSION}-ldap \ php${PHP_VERSION}-mysqli php${PHP_VERSION}-odbc \ php${PHP_VERSION}-opcache php${PHP_VERSION}-pcntl php${PHP_VERSION}-pdo \ php${PHP_VERSION}-pdo_dblib php${PHP_VERSION}-pdo_mysql php${PHP_VERSION}-pdo_odbc \ php${PHP_VERSION}-pdo_pgsql php${PHP_VERSION}-pdo_sqlite php${PHP_VERSION}-pear \ php${PHP_VERSION}-pgsql php${PHP_VERSION}-posix \ php${PHP_VERSION}-shmop php${PHP_VERSION}-snmp \ php${PHP_VERSION}-soap php${PHP_VERSION}-sockets \ php${PHP_VERSION}-sqlite3 php${PHP_VERSION}-sysvmsg php${PHP_VERSION}-sysvsem \ php${PHP_VERSION}-sysvshm \ php${PHP_VERSION}-xml php${PHP_VERSION}-xmlreader \ php${PHP_VERSION}-xsl php${PHP_VERSION}-zip # Install php-dbg RUN --mount=type=cache,target=/var/cache/apk \ apk add --update php${PHP_VERSION}-dbg; exit 0 # Install php-ffi RUN --mount=type=cache,target=/var/cache/apk \ apk add --update php${PHP_VERSION}-ffi; exit 0 # Install php-openSSL RUN --mount=type=cache,target=/var/cache/apk \ apk add --update php${PHP_VERSION}-openssl; exit 0 # Install php-phar RUN --mount=type=cache,target=/var/cache/apk \ apk add --update php${PHP_VERSION}-phar; exit 0 # Install php-json RUN --mount=type=cache,target=/var/cache/apk \ apk add --update php${PHP_VERSION}-json; exit 0 # Install php-iconv RUN --mount=type=cache,target=/var/cache/apk \ apk add --update php${PHP_VERSION}-iconv; exit 0 # Download and install composer ADD https://getcomposer.org/installer ./composer-setup.php RUN php composer-setup.php --version=${COMPOSER_VERSION} && \ mv composer.phar /usr/local/bin/composer && \ rm -f ./composer-setup.php # Clean apk caches RUN rm -vrf /var/cache/apk/* && \ rm -rf /root/.composer; exit 0 USER composer WORKDIR /build CMD ["/usr/local/bin/composer"]