This jupyterhub implementation allows for Nvidia GPU access using the nvidia-docker-2 container runtime.
- A cuda driver must be installed on the host system, you can check this by running
nvidia-smi
in the terminal. - Docker 19.03 or higher.
- Docker compose 1.25.5 or higher.
I've personally found the DigitalOcean Tutorial to be the most reliable. Make sure to change the version number to
1.25.5
! - The nvidia-container-runtime needs to be installed:
sudo apt-get install nvidia-container-runtime
- Nvidia docker2 needs to be installed see their Github for instructions.
To make runtime: nvidia
work we need to change our /etc/docker/daemon.json
to the following:
{
"runtimes": {
"nvidia": {
"path": "/usr/bin/nvidia-container-runtime",
"runtimeArgs": []
}
}
}
We can now build our notebook containers with:
#cd notebooks/{notebook-folder}
#docker build -t {notebook-folder-name} .
# Example
cd notebooks/base-notebook
docker build -t "base-notebook" .
cd ..
cd notebooks/minimal-notebook
docker build -t "minimal-notebook"
# And so on
Note: Make sure to change the userlist
file to include your Github username.
# Make sure to do this in the root of the repo*
docker-compose up --build
- Volume
jupyterhub-db-data
orjupyterhub-data
not found.
docker volume create --name="jupyterhub-data"
- Network
jupyterhub-network
not found.
docker network create "jupyterhub-network"
- No such file or directory: '/data/jupyerhub_cookie_secret' Run the following command whilst replacing $DATA_VOLUME_CONTAINER with the actual path.
openssl rand -hex 32 > {$DATA_VOLUME_CONTAINER}/jupyterhub_cookie_secret