# This image provides a Python 3.5 environment you can use to run your Python # applications. FROM registry.fedoraproject.org/f25/s2i-base:latest LABEL MAINTAINER SoftwareCollections.org ENV NAME=python \ VERSION=0 \ RELEASE=1 \ ARCH=x86_64 LABEL BZComponent="$NAME" \ Name="$FGC/$NAME" \ Version="$VERSION" \ Release="$RELEASE.$DISTTAG" \ Architecture="$ARCH" \ Usage="s2i build file:///your/app 25/python your-app" \ Help="help.1" EXPOSE 8080 ENV PYTHON_VERSION=3.5 \ PATH=$HOME/.local/bin/:$PATH \ PYTHONIOENCODING=UTF-8 \ LC_ALL=en_US.UTF-8 \ LANG=en_US.UTF-8 \ PIP_NO_CACHE_DIR=off ENV SUMMARY="Platform for building and running Python $PYTHON_VERSION applications" \ DESCRIPTION="Python $PYTHON_VERSION available as docker container, is a base platform for \ building and running various Python $PYTHON_VERSION applications and frameworks. \ Python is an easy to learn, powerful programming language. It has efficient high-level \ data structures and a simple but effective approach to object-oriented programming. \ Python’s elegant syntax and dynamic typing, together with its interpreted nature, \ make it an ideal language for scripting and rapid application development in many areas \ on most platforms." LABEL summary="$SUMMARY" \ description="$DESCRIPTION" \ io.k8s.description="$SUMMARY" \ io.k8s.display-name="Python 3.5" \ io.openshift.expose-services="8080:http" \ io.openshift.tags="builder,python,python35,rh-python35" RUN INSTALL_PKGS="python3 python3-devel python3-setuptools python3-pip python3-virtualenv \ nss_wrapper httpd httpd-devel atlas-devel gcc-gfortran libffi-devel libtool-ltdl" && \ dnf install -y --setopt=tsflags=nodocs $INSTALL_PKGS && \ rpm -V $INSTALL_PKGS && \ dnf clean all -y # Copy the S2I scripts from the specific language image to $STI_SCRIPTS_PATH. COPY ./s2i/bin/ $STI_SCRIPTS_PATH # 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 / # Create a Python virtual environment for use by any application to avoid # potential conflicts with Python packages preinstalled in the main Python # installation. RUN virtualenv-$PYTHON_VERSION /opt/app-root # In order to drop the root user, we have to make some directories world # writable as OpenShift default security model is to run the container under # random UID. RUN chown -R 1001:0 /opt/app-root && chmod -R og+rwx /opt/app-root USER 1001 # Set the default CMD to print the usage of the language image. CMD $STI_SCRIPTS_PATH/usage