diff options
Diffstat (limited to 'Dockerfile')
-rw-r--r-- | Dockerfile | 87 |
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"] |