44# Ubuntu 20.04 (focal)
55# https://hub.docker.com/_/ubuntu/?tab=tags&name=focal
66# OS/ARCH: linux/amd64
7- ARG ROOT_CONTAINER=ubuntu:focal-20201008 @sha256:1d7b639619bdca2d008eca2d5293e3c43ff84cbee597ff76de3b7a7de3e84956
7+ ARG ROOT_CONTAINER=ubuntu:focal-20201106 @sha256:4e4bc990609ed865e07afc8427c30ffdddca5153fd4e82c20d8f0783a291e241
88
99ARG BASE_CONTAINER=$ROOT_CONTAINER
1010FROM $BASE_CONTAINER
@@ -24,9 +24,9 @@ USER root
2424# (ARGS are in lower case to distinguish them from ENV)
2525# Check https://github.com/conda-forge/miniforge/releases
2626# Conda version
27- ARG conda_version="4.9.0 "
27+ ARG conda_version="4.9.2 "
2828# Miniforge installer patch version
29- ARG miniforge_patch_number="4 "
29+ ARG miniforge_patch_number="0 "
3030# Miniforge installer architecture
3131ARG miniforge_arch="x86_64"
3232# Python implementation to use
@@ -38,15 +38,14 @@ ARG miniforge_version="${conda_version}-${miniforge_patch_number}"
3838# Miniforge installer
3939ARG miniforge_installer="${miniforge_python}-${miniforge_version}-Linux-${miniforge_arch}.sh"
4040# Miniforge checksum
41- ARG miniforge_checksum="dae28a05f0fcfed0b47c66468e8434ab42cb1ff90de96540a506949cdecd2b5a "
41+ ARG miniforge_checksum="6321775eb2c02d7f51d3a9004ce0be839099f126f4099c781531428536669560 "
4242
4343# Install all OS dependencies for notebook server that starts but lacks all
4444# features (e.g., download as all possible file formats)
4545ENV DEBIAN_FRONTEND noninteractive
4646RUN apt-get update \
4747 && apt-get install -yq --no-install-recommends \
4848 wget \
49- bzip2 \
5049 ca-certificates \
5150 sudo \
5251 locales \
@@ -68,7 +67,8 @@ ENV CONDA_DIR=/opt/conda \
6867 LANGUAGE=en_US.UTF-8
6968ENV PATH=$CONDA_DIR/bin:$PATH \
7069 HOME=/home/$NB_USER \
71- CONDA_VERSION="${conda_version}"
70+ CONDA_VERSION="${conda_version}" \
71+ MINIFORGE_VERSION="${miniforge_version}"
7272
7373# Copy a script that we will use to correct permissions after running certain commands
7474COPY fix-permissions /usr/local/bin/fix-permissions
@@ -102,6 +102,7 @@ RUN mkdir "/home/$NB_USER/work" && \
102102# Install conda as jovyan and check the sha256 sum provided on the download site
103103WORKDIR /tmp
104104
105+ # Prerequisites installation: conda, pip, tini
105106RUN wget --quiet "https://github.com/conda-forge/miniforge/releases/download/${miniforge_version}/${miniforge_installer}" && \
106107 echo "${miniforge_checksum} *${miniforge_installer}" | sha256sum --check && \
107108 /bin/bash "${miniforge_installer}" -f -b -p $CONDA_DIR && \
@@ -112,18 +113,14 @@ RUN wget --quiet "https://github.com/conda-forge/miniforge/releases/download/${m
112113 conda config --system --set show_channel_urls true && \
113114 if [ ! $PYTHON_VERSION = 'default' ]; then conda install --yes python=$PYTHON_VERSION; fi && \
114115 conda list python | grep '^python ' | tr -s ' ' | cut -d '.' -f 1,2 | sed 's/$/.*/' >> $CONDA_DIR/conda-meta/pinned && \
115- conda install --quiet --yes "conda=${CONDA_VERSION}" && \
116- conda install --quiet --yes pip && \
116+ conda install --quiet --yes \
117+ "conda=${CONDA_VERSION}" \
118+ 'pip' \
119+ 'tini=0.18.0' && \
117120 conda update --all --quiet --yes && \
118- conda clean --all -f -y && \
119- rm -rf /home/$NB_USER/.cache/yarn && \
120- fix-permissions $CONDA_DIR && \
121- fix-permissions /home/$NB_USER
122-
123- # Install Tini
124- RUN conda install --quiet --yes 'tini=0.18.0' && \
125121 conda list tini | grep tini | tr -s ' ' | cut -d ' ' -f 1,2 >> $CONDA_DIR/conda-meta/pinned && \
126122 conda clean --all -f -y && \
123+ rm -rf /home/$NB_USER/.cache/yarn && \
127124 fix-permissions $CONDA_DIR && \
128125 fix-permissions /home/$NB_USER
129126
@@ -134,8 +131,8 @@ RUN conda install --quiet --yes 'tini=0.18.0' && \
134131# Do all this in a single RUN command to avoid duplicating all of the
135132# files across image layers when the permissions change
136133RUN conda install --quiet --yes \
137- 'notebook=6.1.4 ' \
138- 'jupyterhub=1.2.1 ' \
134+ 'notebook=6.1.5 ' \
135+ 'jupyterhub=1.2.2 ' \
139136 'jupyterlab=2.2.9' && \
140137 conda clean --all -f -y && \
141138 npm cache clean --force && \
0 commit comments