aboutsummaryrefslogtreecommitdiff
path: root/Dockerfile
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2018-08-29 14:51:35 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2018-08-29 14:51:35 -0400
commit7239121fdad2f33083bbd670a1b6871f88730c49 (patch)
tree5f077c5be07e79cae22930de9a3c6ed04aa42e4c /Dockerfile
downloaddocker-buildsys-pipeline-7239121fdad2f33083bbd670a1b6871f88730c49.tar.gz
Initial commit
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"]