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"]