Для настройки JupyterHub потребуется программное обеспечение NVIDIA Docker. Инструкция по установке находится рядом. Далее следует описание настройки доступа к интерактивной среде JupyterHub, с помощью Docker.

$ docker pull jupyterhub/jupyterhub
$ docker images
REPOSITORY             TAG     IMAGE ID      CREATED       SIZE
jupyterhub/jupyterhub  latest  f55a8610b60d  2 months ago  1.21GB
$ docker run -p 8000:8000 -d --name jupyterhub jupyterhub/jupyterhub jupyterhub
$ docker ps -a
CONTAINER ID   IMAGE                   COMMAND       CREATED         STATUS         PORTS                    NAMES
7ebbe4f1d8d2   jupyterhub/jupyterhub   "jupyterhub"  2 minutes ago   Up 2 minutes   0.0.0.0:8000->8000/tcp   jupyterhub
$ docker exec -it jupyterhub bash
$ cat /etc/*-release
$ python --version
$ apt-get update
$ conda install notebook
$ useradd test
$ passwd test
$ exit
$ firefox http://localhost:8000
$ docker commit 7ebbe4f1d8d2 jupyterhub/jupyterhub:latest
$ docker save jupyterhub/jupyterhub:latest > /tmp/jupyterhub.tar
$ scp /tmp/jupyterhub.tar server2:/tmp 
$ ssh server2
$ systemctl status docker
$ docker load < /tmp/jupyterhub.tar
$ docker run -p 8000:8000 -d --name jupyterhub jupyterhub/jupyterhub jupyterhub
$ docker exec -it jupyterhub bash
$ conda list | grep notebook

1. Скачайте образ jupyterhub
2-8. Запустите docker контейнер с jupyterhub
9. Зайдите в docker контейнер
10-11. Проверьте версию ОС и python
12-13. Обновите ОС и добавьте необходимые модули python, включая notebook
14-15. Добавьте пользователя для авторизации через веб-интерфейс JupyterHub
16. Выйдете из контейнера
17. Проверьте авторизацию пользователя test
18-19. Сохраните изменения в архив .tar
20-26. Проверьте переносимость контейнера, если потребуется

В дальнейшем, для добавления новых библиотек Python, повторите шаги 9 и 13.