flagflag  
13: 2021-07-14 (Wed) 17:45:46 iseki source Cur: 2021-10-16 (Sat) 14:22:59 iseki source
Line 11: Line 11:
 or  or
 (jupyterhub) # pip install dockerspawner  (jupyterhub) # pip install dockerspawner
 +
 +- pip --no-cache-dir install git+https://github.com/jupyterhub/docker​spawner.git をお勧め
 +
 +#br
*** 設定 [#i5887782] *** 設定 [#i5887782]
Line 20: Line 24:
#br #br
-*** 起動用 Docker images [#w0091afe]+*** Docker Images [#ta8920e4] 
 +**** [[jupyterhub-sigleuser>./jupyterhub-sigl​euser]] [#zf5de082]
- docker pull jupyterhub/singleuser - docker pull jupyterhub/singleuser
 +#br
 +
 +**** datascience-notebook  [#s5b3175e]
- docker pull jupyter/datascience-notebook - docker pull jupyter/datascience-notebook
#br #br
Line 63: Line 71:
  8 cp /etc/subgid- /etc/subgid   8 cp /etc/subgid- /etc/subgid
  9 cp /etc/subuid- /etc/subuid   9 cp /etc/subuid- /etc/subuid
 +
 +- [[解決>#xeab91b6]]
 +#br
**** [[start.sh(改)>./start.sh-kai]],  [[start.sh(オリジナル)>./start.sh]][#q31443f9] **** [[start.sh(改)>./start.sh-kai]],  [[start.sh(オリジナル)>./start.sh]][#q31443f9]
- コンテナ内の /usr/local/bin/start.sh - コンテナ内の /usr/local/bin/start.sh
-- コンテナ内の環境設定スクリプト -- コンテナ内の環境設定スクリプト
 +
 +- 利用できる環境変数
 + SHELL=/bin/bash
 + USER_ID=10015
 + MINIFORGE_VERSION=4.9.2-0
 + HOSTNAME=58f17edda0c7
 + LANGUAGE=en_US.UTF-8
 + JUPYTERHUB_API_TOKEN=d8137932ac144ebaa7​0bb04ba359fbac
 + JUPYTERHUB_BASE_URL=/
 + NB_UID=10015
 + PWD=/home/teacher/iseki
 + NB_NOTEDIRX=/home/{groupname}/{username​}/work
 + GRANT_SUDO=yes
 + JUPYTERHUB_SERVER_NAME=
 + HOME=/home/teacher/iseki
 + LANG=en_US.UTF-8
 + JPY_API_TOKEN=d8137932ac144ebaa70bb04ba​359fbac
 + NB_GID=10001
 + CHOWN_HOME=yes
 + JUPYTERHUB_SERVICE_PREFIX=/user/ise​ki/
 + JUPYTERHUB_OAUTH_CALLBACK_URL=/user/ise​ki/oauth_callback
 + NB_GROUP=teacher
 + USER=iseki
 + SHLVL=1
 + CONDA_DIR=/opt/conda
 + JUPYTERHUB_API_URL=http://172.22.1.75:8​081/hub/api
 + JUPYTERHUB_CLIENT_ID=jupyterhub-user-is​eki
 + JUPYTERHUB_HOST=
 + CONDA_VERSION=4.9.2
 + NB_USER=iseki
 + LC_ALL=en_US.UTF-8
 + PATH=/opt/conda/bin:/usr/local/sbin:/us​r/local/bin:/usr/sbin:/usr/bin:/sbin:/bi​n
 + JUPYTERHUB_USER=iseki
 + JUPYTERHUB_ACTIVITY_URL=http://172.22.1​.75:8081/hub/api/users/iseki/activity
 + DEBIAN_FRONTEND=noninteractive
 + _=/usr/bin/env
 +
#br #br
Line 72: Line 120:
- /usr/local/anaconda/envs/jupyterhub/lib/​python3.8/site-packages/dockerspawner/ - /usr/local/anaconda/envs/jupyterhub/lib/​python3.8/site-packages/dockerspawner/
--- __init__.py+-- edit __init__.py
-- ex.) nsldockerspawner.py -- ex.) nsldockerspawner.py
 ......  ......
 from dockerspawner import DockerSpawner  from dockerspawner import DockerSpawner
 + 
 class NSLDockerSpawner(DockerSpawner):  class NSLDockerSpawner(DockerSpawner):
 ......  ......
Line 89: Line 137:
#br #br
-**** ProjectDockerSpawner [#d9dde499]+**** MDLDockerSpawner [#d9dde499]
- 参考:  https://gist.github.com/marufeuille/596c​f6f9e26fa6fcb7e304d5b163c7c8 - 参考:  https://gist.github.com/marufeuille/596c​f6f9e26fa6fcb7e304d5b163c7c8
Line 194: Line 242:
   576    576
   577          return super(ProjectDockerSpawner, self).start()    577          return super(ProjectDockerSpawner, self).start()
 + 
#br #br
-**** NSLDockerSpaewner [#rdae5a79]+
#br #br
-*** Trouble Shooting [#j137c8ff]+*** Tools [#ke66d2d2] 
 +**** アイドルしている Docker コンポーネントを殺す! [#uf1854cf] 
 +***** %%jupyterhub​-idle-culler%% [#eb3404d4] 
 +- jupyterhub_idle_culler 
 +- https://github.com/jupyterhub/jupyterhub​-idle-culler
-**** 何故かイメージを変更して commit すると引数が2重になる? (''非常に重要な問題'')[#xeab91b6] +- pip で入れると No module named が出て,動かない模様 
-- docker logs のでエラーメッセージ +-- No module named jupyterhub_idle_culler
--- [C 2021-07-11 13:52:21.786 SingleUserNotebookApp application:89] Bad config encountered during initialization: Error loading argument SingleUserNotebookApp.ip=['0.0.0.0', '0.0.0.0'], ip only accepts one value, got 2: ['0.0.0.0', '0.0.0.0'] +
-- /usr/local/anaconda/envs/jupyterhub/lib/​python3.8/site-packages/dockerspawner/do​ckerspawner.py L804 +
--- get_command() の cmd + self.get_args() で cmd に既に引数が入っている? +
-- 最新版 (Project用) [[jupyterhub_config.py>../SystemUserSpaw​ner/jupyterhub_config.py]] 内で対症療法中+
-- ''上記の Dockerfile を使って作成すれば問題無し''+- GitHub から直接入れる. 
 +-- git clone https://github.com/jupyterhub/jupyterhub​-idle-culler.git 
 +-- cd jupyterhub-idle-culler 
 +-- python setup.py build 
 +-- python setup.py build 
 + 
 +- ''期待通りに動かん!'' 
 + 
 +- jupyterhub_config.py 
 + lmport sys 
 +  
 + c.JupyterHub.services = [ 
 +   { 
 +       'name': 'idle-culler', 
 +       'admin': True, 
 +       'command': [ 
 +           sys.executable, 
 +           '-m', 'jupyterhub_idle_culler', 
 +           '--timeout=3600' 
 +       ], 
 +   } 
 + ] 
 + 
 +***** cull_idle_servers.py [#zc9428f7] 
 +- jupyterhub​-idle-culler は期待通りに動かない.cull_idle_servers.py の方が良いみたい. 
 +- https://github.com/jupyterhub/jupyterhub​/tree/a6b7e303df03865d6420f6bccdf627b39f​1d0dc1/examples/cull-idle 
 + 
 +- 実行状態(run)も確実に殺してくれる(stop でなくて, rm). 
 +- Webで開いたままだとダメ 
 + 
 + 
 +- jupyterhub_config.py 
 + import sys 
 +  
 + c.JupyterHub.services = [ 
 +   { 
 +       'name': 'idle-culler', 
 +       'admin': True, 
 +       'command': [ 
 +           sys.executable, 
 +           '/usr/local/bin/cull_idle_servers.py', 
 +           '--timeout=3600' 
 +       ], 
 +   } 
 + ]
#br #br
 +
 +** Trouble Shooting [#j137c8ff]
**** 新しいファイルがパーミッションが無いとして,作成できない. [#z72fb1be] **** 新しいファイルがパーミッションが無いとして,作成できない. [#z72fb1be]
Line 221: Line 315:
* Hack [#gdd93e11] * Hack [#gdd93e11]
 +*** カスタマイズ [#p63e4677]
 +- https://jupyterhub.readthedocs.io/en/sta​ble/reference/spawners.html
 +#br
*** DockerSpawner が self.get_env() で取れる情報 [#bb38d813] *** DockerSpawner が self.get_env() で取れる情報 [#bb38d813]
Line 279: Line 376:
- [[start.sh(改)>./start.sh-kai]] - [[start.sh(改)>./start.sh-kai]]
#br #br
 +
 +**** 起動コマンド [#mde3032e]
 + tini -g -- \
 + start-notebook.sh --ip=0.0.0.0 --port=8888 --notebook-dir=/home/teacher/iseki/jupyt​er --SingleUserNotebookApp.default_url=/lab​
 +
 + sudo -E -H -u iseki PATH=/opt/conda/bin:/usr/local/sbin:/usr​/local/bin:/usr/sbin:/usr/bin:/sbin:/bin​ XDG_CACHE_HOME=/home/teacher/iseki/.cach​e PYTHONPATH=  \
 + jupyterhub-singleuser --ip=0.0.0.0 --port=8888 --notebook-dir=/home/teacher/iseki/jupyt​er --SingleUserNotebookApp.default_url=/lab​
*** Docker の起動 [#o46a3f42] *** Docker の起動 [#o46a3f42]
Line 292: Line 396:
-- 任意のパラメータ(引数)に ''{username}'' 等を使用可能にする -- 任意のパラメータ(引数)に ''{username}'' 等を使用可能にする
 c.DockerSpawner.args = ['--username={username}']  c.DockerSpawner.args = ['--username={username}']
--- self.format_string() を通すと {...} を処理してくれる.+-- ''self.format_string''() を通すと {...} を処理してくれる.
- ''注:''[[SystemUserSpawner>../SystemUserSpawn​er]] が正しく動けば, コンテナ内の環境変数 NB_USER で取れるので,''以下のコード修正は不要''. - ''注:''[[SystemUserSpawner>../SystemUserSpawn​er]] が正しく動けば, コンテナ内の環境変数 NB_USER で取れるので,''以下のコード修正は不要''.
Line 327: Line 431:
 +            args.append(self.format_string(arg))  +            args.append(self.format_string(arg))
         return args          return args
 + 
     def run_pre_spawn_hook(self):      def run_pre_spawn_hook(self):


Front page   New List of Pages Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)

Site Search

Login

Username:

Password:


Lost Password?
Register now!!

Sub Menu

mini Calendar

Last MonthMay 2024Next Month
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Today

Who's Online

60 user(s) are online (4 user(s) are browsing xpwiki)

Members: 0
Guests: 60

more...

Access Counter

Today : 2079207920792079
Yesterday : 6459645964596459
Total : 2367809923678099236780992367809923678099236780992367809923678099
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com