繁体   English   中英

如何运行隔离的jupyterhub笔记本

[英]How to run isolated jupyterhub notebooks

我正在CentOS7服务器上使用sudospawner运行jupyterhub。 jupyterhub的目的是双重的

  1. 运行生产代码时,确保每个人都拥有完全相同的conda软件包
  2. 允许人们使用同一笔记本(我们保留所有可视化工具的位置)的多个实例,而不用编辑彼此的本地版本。

最初,当我安装jupyterhub时​​,有人告诉我,不同的用户将能够运行同一笔记本的隔离版本。 换句话说,如果人A将主笔记本中的参数从“ foo”更改为“ bar”,则不会导致B的单用户笔记本发生变化,因为每个人都在生成单独的服务器。

但是,既然已经实际安装了,我发现情况并非如此。 只要我拥有正确的权限,就可以更改任何人的笔记本,并且此更改会在打开笔记本的任何人中反映出来。 这击败了第二点。 我希望A,B,C所有人都使用同一笔记本N,而不会在每个人的本地计算机上反映出更改。

现在,我想到了一个解决方案,其中我们保留主笔记本的git repo并运行一些代码以在登录时自动将repo放入每个人的本地目录中。但是,有没有更简单的方法或更被接受的方法来完成此操作只需jupyterhub配置命令就能完成?

如果您在Linux服务器上设置jupyterhub,则文件权限将解决此问题。 我在个人CENTOS 7服务器上使用SudoSpawner和PAM身份验证的设置:

  1. 使用/ svc帐户作为所有者在/ opt /中安装anaconda
  2. 让服务帐户为每个具有权限770的用户ID创建/ opt / notebooks / {userid}(所有者和组具有完全许可权,其他用户则没有)
  3. 根据用户ID在/ opt / notebooks / {userid}中生成jupyternotebooks
  4. 对于每个新笔记本,将默认权限设置为740(所有者的完全权限,组的只读权限,其他用户则无权限)。
  5. 只有所有者可以保存书写并保存自己的笔记本。 其他人可以在他人的笔记本中查看,编辑和执行代码,但无法保存更改。 从理论上讲,您可以在其他人的文件夹中创建一个笔记本,但是强烈建议不要这样做(尽管没有明确禁止)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM