Skip to content

Latest commit

 

History

History
85 lines (63 loc) · 4.17 KB

README.md

File metadata and controls

85 lines (63 loc) · 4.17 KB

High-Throughput Computing Notebooks

This repository contains the source Dockerfiles for CHTC's High-Throughput Computing Notebooks (HTC Notebooks). Each notebook is based on one of the Jupyter Docker Stacks, as specified by their names.

An HTC Notebook image contains both Jupyter Lab and a "personal" HTCondor that can run jobs locally, making it ideal for testing workflows on local resources before scaling out to an entire HTCondor pool.

HTC Notebooks can also be configured as part of a Jupyter Hub which connects users to a larger HTCondor pool.

See the Jupyter Docker Stacks documentation for more general information on using these images (as well as tips and tricks).

Quick Start

To pull and run a pre-built HTC Notebook image from Docker Hub, use a docker run command that looks like

$ docker run -it --rm -p 8888:8888 htcondor/htc-scipy-notebook:latest

Replace htc-scipy-notebook with your preferred stack (see below for a full list), and latest with your preferred tag. The latest tag will always point at the most recent version of that stack, but date-tagged previous versions are available as well.

To bind-mount the current working directory into the container, add a --mount option to your docker run:

$ docker run -it --rm -p 8888:8888 --mount type=bind,source="$(pwd)",target=/home/jovyan/work htcondor/htc-scipy-notebook:latest

This will link the directory that you launch the container in to the path /home/jovyan/work inside the container. Changes you make inside the container will be reflected outside, and vice-versa.

If you don't want to run Jupyter Lab automatically and want (for example) a bash shell instead, add bash to the end of the docker run command:

$ docker run -it --rm -p 8888:8888 htcondor/htc-scipy-notebook:latest bash

Available Images

A brief summary of what is available in each image is available below. For more detailed information on the Jupyter parts of the image, see the Jupyter Docker Stacks documentation.

In addition to what is described there, every image has a "personal" HTCondor pool running inside it, and includes the HTCondor Python Bindings and HTMap.

Tips, Tricks, and Gotchas

If you are using a bind mount to access local files from inside the container, you must not mount directly to /home/jovyan. Instead, always use a subdirectory of /home/jovyan, like /home/jovyan/work. (Bind-mounting directly to /home/jovyan breaks the HTCondor pool running inside the container).