From f731fc9f9354c60dd2e2bc7e8c3c54faec4bedae Mon Sep 17 00:00:00 2001 From: Ben Mares Date: Thu, 3 Feb 2022 20:06:51 +0100 Subject: [PATCH] Get it running, I hope --- base-notebook/Dockerfile | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/base-notebook/Dockerfile b/base-notebook/Dockerfile index 41e22700..4e5564fe 100644 --- a/base-notebook/Dockerfile +++ b/base-notebook/Dockerfile @@ -5,6 +5,23 @@ # https://hub.docker.com/_/ubuntu/?tab=tags&name=focal ARG ROOT_CONTAINER=ubuntu:focal +## BEGIN MICROMAMBA WORKAROUND +# For some reason, downloading micromamba with wget or curl leads to a segfault. +# Download them in a separate stage with alpine. +# Context: +FROM alpine as download_micromamba_stage +WORKDIR /tmp +RUN set -x && \ + arch=$(uname -m) && \ + if [ "${arch}" = "x86_64" ]; then \ + # Should be simpler, see + arch="64"; \ + fi && \ + echo $arch && \ + apk add --no-cache curl==7.80.0-r0 && \ + curl -L "https://micromamba.snakepit.net/api/micromamba/linux-${arch}/latest" > micromamba.tar.bz2 +## END MICROMAMBA WORKAROUND + FROM $ROOT_CONTAINER LABEL maintainer="Jupyter Project " @@ -99,24 +116,9 @@ ARG PYTHON_VERSION=3.9 # Do all this in a single RUN command to avoid duplicating all of the # files across image layers when the permissions change WORKDIR /tmp +COPY --chown="${NB_UID}:${NB_GID}" --from=download_micromamba_stage /tmp/micromamba.tar.bz2 /tmp # hadolint ignore=DL4001,DL3047 RUN set -x && \ - arch=$(uname -m) && \ - if [ "${arch}" == "x86_64" ]; then \ - # Should be simpler, see - arch="64"; \ - fi && \ - uname -a && \ - echo "${arch}" && \ - wget --version && \ - curl --version && \ - wget --debug -qO micromamba2.tar.bz2 "https://micromamba.snakepit.net/api/micromamba/linux-${arch}/latest" && \ - ls -al && \ - md5sum ./* && \ - head -c 100 micromamba2.tar.bz2 && \ - curl --verbose -L "https://micromamba.snakepit.net/api/micromamba/linux-${arch}/latest" > micromamba.tar.bz2 && \ - ls -al && \ - md5sum ./* && \ tar -xvjf micromamba.tar.bz2 bin/micromamba && \ # bin/micromamba create --prefix="${CONDA_DIR}" && \ PYTHON_SPECIFIER="python=${PYTHON_VERSION}" && \ @@ -134,6 +136,7 @@ RUN set -x && \ 'notebook' \ 'jupyterhub' \ 'jupyterlab' && \ + rm micromamba.tar.bz2 && \ # There should be just a single binary inside bin/ rm bin/micromamba && \ rmdir bin && \