83 lines
2.5 KiB
Docker
83 lines
2.5 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 SERVER_ROOT=/app
|
|
ENV COMPOSER_VERSION=${COMPOSER_VERSION}
|
|
|
|
WORKDIR /root
|
|
|
|
ADD 7/scripts/alpine-setup.sh /tmp/setup.sh
|
|
ADD scripts/entrypoint.sh /usr/local/bin/
|
|
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 +rx /tmp/setup.sh /usr/local/bin/entrypoint.sh /usr/local/bin/composer; \
|
|
/bin/sh /tmp/setup.sh; \
|
|
/bin/rm -f /tmp/*.sh;
|
|
|
|
ADD htdocs ${SERVER_ROOT}/htdocs
|
|
|
|
# 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 sed -i "s|#version#|${PHP_VERSION}|" /app/htdocs/index.html ; \
|
|
sed -i "s|#os#|alpine|" /app/htdocs/index.html ; \
|
|
sed -i "s|#flavor#|${FLAVOR}|" /app/htdocs/index.html ; \
|
|
mkdir -p ${SERVER_ROOT}/logs ${SERVER_ROOT}/run /run/apache2 ; \
|
|
ln -s /usr/lib/apache2 ${SERVER_ROOT}/modules ; \
|
|
chmod -R 755 ${SERVER_ROOT}/logs ${SERVER_ROOT/run} ; \
|
|
chown -R apache:apache ${SERVER_ROOT}/htdocs ${SERVER_ROOT}/logs ${SERVER_ROOT}/run /run/apache2 ; \
|
|
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 / /
|
|
|
|
USER apache
|
|
|
|
WORKDIR /app/htdocs
|
|
|
|
STOPSIGNAL SIGQUIT
|
|
|
|
CMD ["/usr/local/bin/entrypoint.sh"]
|