3: 2021-07-11 (日) 00:15:06 iseki |
4: 2021-07-11 (日) 11:46:48 iseki |
| | | |
| - dockerspawner.DockerSpawner からの派生クラス | | - dockerspawner.DockerSpawner からの派生クラス |
- | - DockerSpawner と同じパッケージ? 特にインストールしていないが,既に入っていた. | + | - DockerSpawner と同じパッケージ? 特にインストールしていないが,既に入っていた.(''注:これは最新版ではなかった'') |
| - jovyan ではなく,ログインユーザで使用可.ログインユーザのホームディレクトリをマウントする. | | - jovyan ではなく,ログインユーザで使用可.ログインユーザのホームディレクトリをマウントする. |
| -- グループに応じてマウントディレクトリを指定可能. | | -- グループに応じてマウントディレクトリを指定可能. |
| | | |
| - see also [[DockerSpawner>JupyterHub/DockerSpawner]] | | - see also [[DockerSpawner>JupyterHub/DockerSpawner]] |
| + | |
| #br | | #br |
| + | |
| + | *** 上記 GitHub の最新版(2021 07/11)を入れると,コンテナ内で NB_* の環境変数でグループIDを取れる! [#pb6155b1] |
| + | - /usr/local/anaconda/envs/jupyterhub/lib/python3.8/site-packages/dockerspawner/systemuserspawner.py を差し替える. |
| + | - HOME も取れる |
| + | |
| + | iseki@299e2fa47bf9:~$ env |grep NB_ |
| + | NB_UID=10015 |
| + | NB_GID=10001 |
| + | NB_USER=iseki |
| + | #br |
| + | |
| + | **** グループ名も取れるように改造 [#y38d9264] |
| + | 129 def get_env(self): |
| + | 130 env = super(SystemUserSpawner, self).get_env() |
| + | 131 # relies on NB_USER and NB_UID handling in jupyter/docker-stacks |
| + | 132 env.update( |
| + | 133 dict( |
| + | 134 USER=self.user.name, # deprecated |
| + | 135 NB_USER=self.user.name, |
| + | 136 USER_ID=self.user_id, # deprecated |
| + | 137 NB_UID=self.user_id, |
| + | 138 HOME=self.homedir, |
| + | 139 ) |
| + | 140 ) |
| + | 141 if self.group_id >= 0: |
| + | 142 env.update(NB_GID=self.group_id) |
| + | 143 # Fumi.Iseki |
| + | 144 import grp |
| + | 145 gname = grp.getgrgid(self.group_id).gr_name |
| + | 146 env.update(NB_GNM=gname) |
| + | 147 return env |
| + | |
| *** Memo [#r4868d62] | | *** Memo [#r4868d62] |
| - notebook_dir = /home/teacher/{username}/work が効かない.teacher が無視される. | | - notebook_dir = /home/teacher/{username}/work が効かない.teacher が無視される. |
| #br | | #br |