Skip to content
Snippets Groups Projects
Dockerfile 1.21 KiB
Newer Older
Bas Nijholt's avatar
Bas Nijholt committed
FROM ubuntu:xenial
Bas Nijholt's avatar
Bas Nijholt committed
MAINTAINER Bas Nijholt <bas@nijho.lt>

Bas Nijholt's avatar
Bas Nijholt committed
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
ENV PATH /opt/conda/bin:$PATH

Bas Nijholt's avatar
Bas Nijholt committed
RUN apt-get update --fix-missing && \
Bas Nijholt's avatar
Bas Nijholt committed
    apt-get install -y \
    # for miniconda
    wget bzip2 ca-certificates curl git \
    # for TeX
    texlive-full python-pygments gnuplot make \
    # for gcc
    build-essential \
Bas Nijholt's avatar
Bas Nijholt committed
    && \
Bas Nijholt's avatar
Bas Nijholt committed
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*
Bas Nijholt's avatar
Bas Nijholt committed
RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-4.5.11-Linux-x86_64.sh -O ~/miniconda.sh && \
Bas Nijholt's avatar
Bas Nijholt committed
    /bin/bash ~/miniconda.sh -b -p /opt/conda && \
    rm ~/miniconda.sh && \
Bas Nijholt's avatar
Bas Nijholt committed
    /opt/conda/bin/conda clean -tipsy && \
Bas Nijholt's avatar
Bas Nijholt committed
    ln -s /opt/conda/etc/profile.d/conda.sh /etc/profile.d/conda.sh && \
    echo ". /opt/conda/etc/profile.d/conda.sh" >> ~/.bashrc
Bas Nijholt's avatar
Bas Nijholt committed
ENV TINI_VERSION v0.16.1
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /usr/bin/tini
RUN chmod +x /usr/bin/tini
Bas Nijholt's avatar
Bas Nijholt committed
RUN mkdir /environments
COPY environment.yml /environments/

RUN conda-env create -f /environments/environment.yml && \
    # ensure that we activate the environment in any shell (Gitlab CI uses 'sh')
Bas Nijholt's avatar
Bas Nijholt committed
    echo "conda activate revtex-markdown-paper" >> ~/.bashrc
Bas Nijholt's avatar
Bas Nijholt committed

ENTRYPOINT [ "/usr/bin/tini", "--" ]
Bas Nijholt's avatar
Bas Nijholt committed
CMD [ "/bin/bash" ]