This JupyterHub setup provides access to a web-based interactive docker
terminal environment for use in e.g. Docker course settings.
Issues around getting Docker to work on every participant's end device during the class are mitigated, and "bring your own working (!) Docker environment" is not anymore a requirement for taking part in the course.
The setup ensures that teachers can focus solely on helping out with the course contents.
This setup is based on the "The Littlest JupyterHub" and leverages "Docker rootless" as provided by Docker Inc. to prevent issues around (1) privilege escalation (for sudo
and docker
-group Docker usage approaches) and (2) Docker daemon isolation. With this setup, every participant gets their own "safe to use" Docker container working environment, which also (mostly) resembles the Docker environment that would be presented on a local machine.
The setup was tested successfully with Ubuntu 22.04 and Ubuntu 24.04 releases.