# PHP 5.6 == 3.6 ARG OS_VERSION=3.6 FROM quay.io/sindigilive/alpine:${OS_VERSION} AS builder LABEL maintainer=" map@sindigilive.com" ARG PHP_VERSION=5.6 ARG PHP_VER_SHORT=5 ARG COMPOSER_VERSION=2.2.25 ARG COMPOSER_VER_SHORT=2.2 ENV PHP_VERSION=${PHP_VERSION} ENV PHP_VER_SHORT=${PHP_VER_SHORT} ENV COMPOSER_VERSION=${COMPOSER_VERSION} ENV COMPOSER_VER_SHORT=${COMPOSER_VER_SHORT} # Set composer home ENV COMPOSER_HOME=/app ENV COMPOSER_CACHE_DIR=${COMPOSER_HOME}/cache ENV FLAVOR="full" ENV WITH_DATABASE="false" ENV WITH_SERVER="false" WORKDIR /tmp ADD 5/scripts/alpine-setup.sh ./setup.sh # Download and install composer ADD https://github.com/composer/composer/releases/download/${COMPOSER_VERSION}/composer.phar /usr/local/bin/composer # Create directory, and install required php app RUN /bin/mkdir -p ${COMPOSER_HOME}/build ${COMPOSER_CACHE_DIR}/files \ ${COMPOSER_CACHE_DIR}/repo ${COMPOSER_CACHE_DIR}/vcs ; \ /usr/sbin/addgroup -g 10001 composer ; \ /usr/sbin/adduser -D -u 10001 -G composer -s /sbin/nologin -h ${COMPOSER_HOME}/build composer ; \ /sbin/apk add --update --no-cache \ php${PHP_VER_SHORT} php${PHP_VER_SHORT}-common \ php${PHP_VER_SHORT}-cli ; \ /bin/chown -R composer:composer ${COMPOSER_HOME} ; \ /bin/chmod 755 ./setup.sh /usr/local/bin/composer ; \ /bin/sh ./setup.sh; \ /bin/rm -f ./*; # Create symlinks to /usr/bin/php in case it doesn't exists RUN ln -ns /usr/bin/php${PHP_VER_SHORT} /usr/bin/php ; exit 0 # CLEAN APK CACHES RUN rm -vrf /var/cache/apk/* FROM scratch ARG PHP_VERSION=5.6 ARG PHP_VER_SHORT=5 ARG COMPOSER_VERSION=2.2.25 ARG COMPOSER_VER_SHORT=2.2 ENV PHP_VERSION=${PHP_VERSION} ENV PHP_VER_SHORT=${PHP_VER_SHORT} ENV COMPOSER_VERSION=${COMPOSER_VERSION} ENV COMPOSER_VER_SHORT=${COMPOSER_VER_SHORT} # Set composer home ENV COMPOSER_HOME=/app ENV COMPOSER_CACHE_DIR=${COMPOSER_HOME}/cache LABEL maintainer="Muhamad Aditya Prima " LABEL name="composer" LABEL version="${COMPOSER_VER_SHORT}" LABEL distribution-scope="public" #labels for container catalog LABEL summary="Composer ${COMPOSER_VER_SHORT} with PHP ${PHP_VERSION} on alpine based container image" LABEL description="Provide php on alpine based container base image" LABEL io.k8s.description="Very small alpine linux container image" LABEL io.k8s.display-name="Composer ${COMPOSER_VER_SHORT}, PHP ${PHP_VERSION}" COPY --from=builder / / USER composer WORKDIR ${COMPOSER_HOME}/build STOPSIGNAL SIGQUIT CMD ["/usr/local/bin/composer", "-V"]