php/7/Dockerfile.alpine

70 lines
1.9 KiB
Docker

# PHP 7.2 == 3.9
# PHP 7.3 == 3.12
# PHP 7.4 == 3.15
ARG OS_VERSION=3.15
FROM quay.io/sindigilive/alpine:${OS_VERSION} AS builder
LABEL maintainer="<Muhamad Aditya Prima> map@sindigilive.com"
ARG FLAVOR=cli
ARG WITH_APACHE=false
ARG WITH_DATABASE=false
ARG PHP_VERSION=7.4
ARG PHP_VER_SHORT=7
ARG COMPOSER_VERSION=2.8.4
ENV FLAVOR=${FLAVOR}
ENV WITH_APACHE=${WITH_APACHE}
ENV WITH_DATABASE=${WITH_DATABASE}
ENV PHP_VERSION=${PHP_VERSION}
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
ENV COMPOSER_VERSION=${COMPOSER_VERSION}
WORKDIR /root
ADD 7/scripts/alpine-setup.sh /tmp/setup.sh
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 /app ; \
/sbin/apk add --update --no-cache \
php${PHP_VER_SHORT} php${PHP_VER_SHORT}-common \
php${PHP_VER_SHORT}-cli php${PHP_VER_SHORT}-phar \
php${PHP_VER_SHORT}-iconv php${PHP_VER_SHORT}-mbstring ; \
/bin/chmod +x /tmp/setup.sh /usr/local/bin/composer ; \
/bin/sh /tmp/setup.sh; \
/bin/rm -f /tmp/*.sh;
# 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
ENV PHP_VERSION=${PHP_VERSION}
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
LABEL maintainer="Muhamad Aditya Prima <map@sindigilive.com>"
LABEL name="php"
LABEL version="${PHP_VERSION}"
LABEL distribution-scope="public"
#labels for container catalog
LABEL summary="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="PHP ${PHP_VERSION}"
COPY --from=builder / /
WORKDIR /app
STOPSIGNAL SIGQUIT
CMD ["/usr/bin/php", "-v"]