【问题标题】:How to run isolated jupyterhub notebooks如何运行隔离的 jupyterhub 笔记本
【发布时间】:2018-09-18 04:16:16
【问题描述】:

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

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

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

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

现在我想到了一个解决方案,我们保留主笔记本的 git repo 并运行一些代码以在登录时自动将 repo 拉入每个人的本地目录。但是,是否有更简单或更可接受的方法来只用 jupyterhub 配置命令完成同样的事情?

【问题讨论】:

    标签: python jupyter-notebook jupyterhub


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2019-10-02
      • 1970-01-01
      • 2020-05-17
      • 1970-01-01
      • 2022-06-23
      • 2019-12-14
      • 2018-09-23
      • 2019-12-15
      • 1970-01-01
      相关资源
      最近更新 更多