blog
blog copied to clipboard
Docker 快速部署 Jupyterhub 实现 Jupyter Notebook多用户管理
我们项目组里调 Prompt 用的是Docker部署的 Jupyter Notebook,随着组里的 'Prompt工程师' 剧增,暴露出来的问题主要有以下几个:
- 用自己名字命名文件夹的方式进行隔离,没有权限管控
- 因为是单用户,一打开会看到都是其他人打开的所有 Notebook(头皮发麻..)
- 单容器环境跑多了就非常卡顿,得重启一下,但重启后 token 又重新生成了(偷懒没看怎么固定 token )
利用 Jupyterhub 可以解决上面的问题,它能够进行前置鉴权、启动JuypterLab实例和分发请求。 Juypter 和 Jupyterhub的关系如下图:
大多数的教程中是宿主机部署 Jupyterhub,容器部署Jupyter,或者是K8s部署,这样方便管理 Jupyter 实例,但配置文件写着看得脑壳大。 好在官方提供了一个非k8s的容器部署示例 。
我在它的基础上调整了这个几个点:
- 将实例的用户名映射到我们现有的用户名文件夹
- 增加了共享文件夹,实现夸实例共享文件
仓库地址:https://github.com/zenghongtu/jupyterhub-deploy-docker
快速部署:
git clone https://github.com/zenghongtu/jupyterhub-deploy-docker
cd compose
docker compose up -d
两个小坑:
- 因为没有初始密码,初次部署需要注册 admin 账号
- 如果创建notebook遇到 Permission denied ,需要在宿主机上
chmod 777该实例对应的文件夹