69 lines
2.3 KiB
Docker
69 lines
2.3 KiB
Docker
FROM registry.fedoraproject.org/f25/s2i-base
|
|
|
|
# Description
|
|
# This image provides an Apache 2.4 + PHP 7.0 environment for running PHP applications.
|
|
# Exposed ports:
|
|
# * 8080 - alternative port for http
|
|
|
|
LABEL MAINTAINER Rado Pitonak <rpitonak@redhat.com>
|
|
|
|
RUN dnf install -y --setopt=tsflags=nodocs php php-opcache && \
|
|
dnf -y clean all
|
|
|
|
ENV PHP_VERSION=7.0 NAME=php VERSION=0 RELEASE=6 ARCH=x86_64
|
|
|
|
ENV HOME=/opt/app-root
|
|
|
|
LABEL summary="php runtime" \
|
|
name="$FGC/$NAME" \
|
|
version="$VERSION" \
|
|
release="$RELEASE.$DISTTAG" \
|
|
architecture="$ARCH" \
|
|
description="Platform for building and running PHP 7.0 applications." \
|
|
vendor="Fedora Project" \
|
|
com.redhat.component="$NAME" \
|
|
usage="s2i build <SOURCE-REPOSITORY> php <APP-NAME>" \
|
|
org.fedoraproject.component="php" \
|
|
authoritative-source-url="registry.fedoraproject.org" \
|
|
io.k8s.description="Platform for building and running PHP 7.0 applications." \
|
|
io.k8s.display-name="Apache 2.4 with PHP 7.0" \
|
|
io.openshift.tags="builder,php,php70" \
|
|
io.openshift.expose-services="8080:https" \
|
|
io.openshift.s2i.scripts-url="image:///usr/local/s2i"
|
|
|
|
# S2I scripts
|
|
COPY ./.s2i/bin/ /usr/local/s2i
|
|
|
|
# Copy executable utilities.
|
|
COPY bin/ /usr/bin/
|
|
|
|
# Each language image can have 'contrib' a directory with extra files needed to
|
|
# run and build the applications.
|
|
COPY ./contrib/ /opt/app-root
|
|
|
|
# Add help file
|
|
COPY root /
|
|
|
|
EXPOSE 8080
|
|
|
|
# In order to drop the root user, we have to make some directories world
|
|
# writeable as OpenShift default security model is to run the container under
|
|
# random UID.
|
|
RUN mkdir -p ${HOME}/src && \
|
|
sed -i -f /opt/app-root/etc/httpdconf.sed /etc/httpd/conf/httpd.conf && \
|
|
head -n151 /etc/httpd/conf/httpd.conf | tail -n1 | grep "AllowOverride All" || exit && \
|
|
echo "IncludeOptional /opt/app-root/etc/conf.d/*.conf" >> /etc/httpd/conf/httpd.conf && \
|
|
mkdir /tmp/sessions && \
|
|
chown -R 1001:0 /opt/app-root /tmp/sessions && \
|
|
chmod -R a+rwx /tmp/sessions && \
|
|
chmod -R ug+rwx /opt/app-root && \
|
|
chmod -R a+rwx /etc/php.d && \
|
|
chmod -R a+rwx /etc/php.ini && \
|
|
chmod -R a+rwx /run/httpd
|
|
|
|
USER 1001
|
|
|
|
WORKDIR ${HOME}/src
|
|
|
|
# Command which will start service during command `docker run`
|
|
CMD /usr/local/s2i/usage
|