簡體   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