aboutsummaryrefslogtreecommitdiff
path: root/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile87
1 files changed, 87 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..4871b87
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,87 @@
+FROM centos:6.9
+
+# Declare build-time environment
+
+# Miniconda
+ARG MC_VERSION=4.5.4
+ARG MC_PLATFORM=Linux
+ARG MC_ARCH=x86_64
+ARG MC_URL=https://repo.continuum.io/miniconda
+
+# Conda root
+ARG CONDA_VERSION=4.5.10
+ARG CONDA_BUILD_VERSION
+ARG CONDA_PACKAGES
+
+# Declare environment
+ENV OPT=/opt \
+ HOME=/home/developer
+
+ENV PYTHONUNBUFFERED=1 \
+ MC_VERSION=${MC_VERSION} \
+ MC_PLATFORM=${MC_PLATFORM} \
+ MC_ARCH=${MC_ARCH} \
+ MC_URL=${MC_URL} \
+ MC_INSTALLER=Miniconda3-${MC_VERSION}-${MC_PLATFORM}-${MC_ARCH}.sh \
+ MC_PATH=${OPT}/conda \
+ CONDA_VERSION=${CONDA_VERSION} \
+ CONDA_BUILD_VERSION=${CONDA_BUILD_VERSION} \
+ CONDA_PACKAGES=${CONDA_PACKAGES}
+
+# Toolchain
+RUN yum update -y && yum install -y \
+ bzip2-devel \
+ curl \
+ gcc \
+ gcc-c++ \
+ gcc-gfortran \
+ git \
+ glibc-devel.i686 \
+ glibc-devel \
+ kernel-devel \
+ libX11-devel \
+ mesa-libGL \
+ mesa-libGLU \
+ ncurses-devel \
+ subversion \
+ sudo \
+ wget \
+ zlib-devel \
+ && yum clean all
+
+# Create 'developer' user
+# Configure sudoers
+RUN groupadd developer \
+ && useradd -g developer -m -d $HOME -s /bin/bash developer \
+ && echo "developer:developer" | chpasswd \
+ && echo "developer ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
+
+# Install Miniconda
+# Reset permissions
+RUN curl -q -O ${MC_URL}/${MC_INSTALLER} \
+ && bash ${MC_INSTALLER} -b -p ${MC_PATH} \
+ && rm -rf ${MC_INSTALLER} \
+ && echo export PATH="${MC_PATH}/bin:\${PATH}" > /etc/profile.d/conda.sh \
+ && chown -R developer: ${OPT} ${HOME}
+
+# Pipeline definition
+ARG PIPELINE_URL
+
+# Configure Conda
+ENV PATH "${MC_PATH}/bin:${PATH}"
+USER developer
+
+RUN conda config --set auto_update_conda false \
+ && conda config --set always_yes true \
+ && conda config --set quiet true \
+ && conda config --set rollback_enabled false \
+ && conda install --yes --quiet \
+ conda=${CONDA_VERSION} \
+ conda-build=${CONDA_BUILD_VERSION} \
+ git \
+ ${CONDA_PACKAGES} \
+ && conda install --file "${PIPELINE_URL}"
+
+WORKDIR ${HOME}
+
+CMD ["/bin/bash"]