# This image provides a Python 3.5 environment you can use to run your Python # applications. FROM registry.fedoraproject.org/f26/s2i-base:latest EXPOSE 8080 ENV PYTHON_VERSION=3.6 \ PATH=$HOME/.local/bin/:$PATH \ PYTHONUNBUFFERED=1 \ PYTHONIOENCODING=UTF-8 \ LC_ALL=en_US.UTF-8 \ LANG=en_US.UTF-8 \ PIP_NO_CACHE_DIR=off ENV NAME=python3 \ VERSION=0 \ RELEASE=1 \ ARCH=x86_64 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="$DESCRIPTION" \ io.k8s.display-name="Python 3.6" \ io.openshift.expose-services="8080:http" \ io.openshift.tags="builder,python,python36,rh-python36" \ com.redhat.component="$NAME" \ name="$NAME" \ version="$VERSION" \ release="$RELEASE.$DISTTAG" \ architecture="$ARCH" \ usage="s2i build file:///your/app 26/python3 your-app" \ maintainer="SoftwareCollections.org " 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 # Copy extra files to the image. 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