ページ内コンテンツ
dockerspawner.SystemUserSpawner
- 2021 7/12 版
- https://github.com/jupyterhub/dockerspawner/blob/master/dockerspawner/systemuserspawner.py
- dockerspawner.DockerSpawner からの派生クラス
- DockerSpawner と同じパッケージ? 特にインストールしていないが,既に入っていた.(注:これは最新版ではなかった)
- jovyan ではなく,ログインユーザで使用可.ログインユーザのホームディレクトリをマウントする.
- グループに応じてマウントディレクトリを指定可能.
- グループ設定のUIが必要.
- ただしログインユーザの情報が,ローカルに取れない場合(LDAPのユーザバインドでログインした場合),ホームディレクトリ等の情報が無いので途中でエラーを起こす.
- 作りこめば大丈夫!
jovyan は潰せ!jovyan はテンプレートユーザだから潰しちゃダメDockerfile にしたからやっぱり潰す
- see also DockerSpawner
この下以降の問題を全て解決した jupyterhub_config.py
- altfiles
- see NSS
- 実験用 最新版
- 2021 07/12
- jupyterhub_config_systemuser.py (空白入れるのが途中で面倒になった)
上記 GitHub の最新版(2021 07/11)を入れると,コンテナ内で NB_* の環境変数でグループIDを取れる!
- /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
グループ名も取れるように改造
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
Counter: 598,
today: 2,
yesterday: 0
最終更新: 2021-07-13 (火) 20:26:37 (JST) (1159d) by iseki