JupyterLab. Запуск в docker контейнере
Jupyter лучше запускать не из официального docker образа, а создавать свой образ вручную. Тогда при критической ошибке после установки новых пакетов контейнер не будет падать, и можно будет починить его изнутри.