This is a minimal Alpine-based docker image for running the Jupyter notebook server. It is designed for constrained environments in which the size of the docker image is a major consideration. The latest version (7.x series) is about 340MB uncompressed, roughly an order of magnitude smaller than the official Jupyter images. It is hosted on Docker Hub.
We achieve the small image size by using the Alpine Linux base image, minimizing the number of pre-installed Python packages, and installing other language kernels on the fly. We currently support about a dozen languages, but only Python 2 and 3 are baked into the image. The other kernels are built into Alpine packages (apks) that get installed on first use. We also build popular Python data science packages into pre-compiled apks that can be installed using the ipydeps dependencies mechanism.
For more information, please check out this post on our github.io site.
Remember that docker commands usually need to be run as root or via sudo.
You can pull the image from Docker Hub:
docker pull nbgallery/jupyter-alpine
To build the image from source, clone or download the repo. Then build with something like this:
docker build -t nbgallery/jupyter-alpine:<version> <source-directory>
You will usually launch a container something like this:
docker run --rm -p 443:443 nbgallery/jupyter-alpine
The default entrypoint is jupyter-notebook-secure, which will generate a self-signed certificate and then launch the jupyter notebook server under HTTPS with an automatically-generated authentication token.