Sign inSign up

show0k/alpine-minimal-notebook

By show0k

•Updated about 8 years ago

Fork of jupyter/minimal-notebook image based on alpine vs debian which makes it far lighter

Image
0

599

show0k/alpine-minimal-notebook repository overview

⁠Minimal Jupyter Notebook Stack

Thanks to Alpine Linux, this image is 180MB smaller than the official Jupyter image based on Ubuntu (160MB⁠ vs 340MB⁠).

⁠What it Gives You

  • Jupyter Notebook 4.1.x
  • Conda Python 3.x
  • No preinstalled scientific computing packages
  • Unprivileged user jovyan (uid=1000, configurable, see options) in group users (gid=100) with ownership over /home/jovyan and /opt/conda
  • tini⁠ as the container entrypoint and start-notebook.sh⁠ as the default command
  • Options for HTTPS, password auth, and passwordless sudo

⁠Basic Use

The following command starts a container with the Notebook server listening for HTTP connections on port 8888 without authentication configured.

docker run -d -p 8888:8888 show0k/alpine-miniconda-notebook

⁠Notebook Options

You can pass Jupyter command line options⁠ through the start-notebook.sh command⁠ when launching the container. For example, to set the base URL of the notebook server you might do the following:

docker run -d -p 8888:8888 show0k/alpine-miniconda-notebook start-notebook.sh --NotebookApp.base_url=/some/path

You can sidestep the start-notebook.sh script entirely by specifying a command other than start-notebook.sh. If you do, the NB_USER and GRANT_SUDO features documented below will not work. See the Docker Options section for details.

⁠Docker Options

You may customize the execution of the Docker container and the Notebook server it contains with the following optional arguments.

  • -e PASSWORD="YOURPASS" - Configures Jupyter Notebook to require the given password. Should be conbined with USE_HTTPS on untrusted networks.
  • -e USE_HTTPS=yes - Configures Jupyter Notebook to accept encrypted HTTPS connections. If a pem file containing a SSL certificate and key is not provided (see below), the container will generate a self-signed certificate for you.
  • -e NB_UID=1000 - Specify the uid of the jovyan user. Useful to mount host volumes with specific file ownership. For this option to take effect, you must run the container with --user root. (The start-notebook.sh script will su jovyan after adjusting the user id.)
  • -e GRANT_SUDO=yes - Gives the jovyan user passwordless sudo capability. Useful for installing OS packages. For this option to take effect, you must run the container with --user root. (The start-notebook.sh script will su jovyan after adding jovyan to sudoers.) You should only enable sudo if you trust the user or if the container is running on an isolated host.
  • -v /some/host/folder/for/work:/home/jovyan/work - Host mounts the default working directory on the host to preserve work even when the container is destroyed and recreated (e.g., during an upgrade).
  • -v /some/host/folder/for/server.pem:/home/jovyan/.local/share/jupyter/notebook.pem - Mounts a SSL certificate plus key for USE_HTTPS. Useful if you have a real certificate for the domain under which you are running the Notebook server.

⁠Conda Environment

The default Python 3.x Conda environment⁠ resides in /opt/conda. The commands ipython, python, pip, easy_install, and conda (among others) are available in this environment.

Tag summary

Content type

Image

Digest

Size

82.8 MB

Last updated

about 8 years ago

docker pull show0k/alpine-minimal-notebook