87 lines
2.5 KiB
Docker
87 lines
2.5 KiB
Docker
# PHP 5.6 == 3.6
|
|
ARG OS_VERSION=3.6
|
|
|
|
FROM quay.io/sindigilive/alpine:${OS_VERSION} AS builder
|
|
LABEL maintainer="<Muhamad Aditya Prima> 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 <map@sindigilive.com>"
|
|
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"]
|