I have a question on whether I correctly understand how version pinning works for upyter docker stacks images.
The jupyter-docker-stacks docs state that:
You must refer to git-SHA image tags when stability and reproducibility are important in your work. (e.g. FROM jupyter/scipy-notebook:7c45ec67c8e7, docker run -it --rm jupyter/scipy-notebook:7c45ec67c8e7). You should only use latest when a one-off container instance is acceptable (e.g., you want to briefly try a new library in a notebook).
When I refer to
jupyter/scipy-notebook:7c45ec67c8e7, this uses
minimal-notebook as a base image (
ARG BASE_CONTAINER=jupyter/minimal-notebook). Will the version pinning of
scipy-notebook pin the versions of all bases as well? I’d assume so, asking to be sure.
So I assume that when I use
jupyter/scipy-notebook:7c45ec67c8e7 as a base, that will work – but not if one downloads the Dockerfile from that github commit and tries to build the image again. Because the Dockerfile does not specify the BASE’s SHA.
My questions was triggered by a discussion on whether you should or whether you * have to* specify the SHA of a Docker image for when using it as a build specification for Binder.