23: 2021-08-21 (土) 15:30:54 iseki |
現: 2021-10-16 (土) 14:22:59 iseki |
| ...... | | ...... |
| from dockerspawner import DockerSpawner | | from dockerspawner import DockerSpawner |
| + | |
| class NSLDockerSpawner(DockerSpawner): | | class NSLDockerSpawner(DockerSpawner): |
| ...... | | ...... |
| 576 | | 576 |
| 577 return super(ProjectDockerSpawner, self).start() | | 577 return super(ProjectDockerSpawner, self).start() |
| + | |
| #br | | #br |
| | | |
| - jupyterhub_config.py | | - jupyterhub_config.py |
| lmport sys | | lmport sys |
| + | |
| c.JupyterHub.services = [ | | c.JupyterHub.services = [ |
| { | | { |
| | | |
| - jupyterhub_config.py | | - jupyterhub_config.py |
- | lmport sys | + | import sys |
| + | |
| c.JupyterHub.services = [ | | c.JupyterHub.services = [ |
| { | | { |
| | | |
| ** Trouble Shooting [#j137c8ff] | | ** Trouble Shooting [#j137c8ff] |
- | | |
- | **** 何故かイメージを変更して commit すると引数が2重になる? (''非常に重要な問題'')[#xeab91b6] | |
- | - docker logs のでエラーメッセージ | |
- | -- [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/dockerspawner.py L804 | |
- | -- get_command() の cmd + self.get_args() で cmd に既に引数が入っている? | |
- | - 最新版 (Project用) [[jupyterhub_config.py>../SystemUserSpawner/jupyterhub_config.py]] 内で対症療法中 | |
- | | |
- | - ''上記の Dockerfile を使って作成すれば問題無し'' | |
- | #br | |
- | | |
- | ****'' 解決編'': docker commit すると,起動時のオプション(arguments)まで保存する. [#v7d65576] | |
- | - 次回起動すると,オプションが 2重になる.なんてこったい! docker build では大丈夫(そもそも起動していない) | |
- | - 起動時のオプションは,イメージ(/var/lib/docker/image/overlay2/imagedb/....)に Cmd[ ] に値として保存されている. | |
- | - イメージファイルはテキスト(!?)なので,Cmd[ ] に何が書いてあるかわかる. | |
- | -- "Cmd":["start-notebook.sh","--ip=0.0.0.0","--port=8888","--notebook-dir=/home/teacher/iseki/jupyter","--SingleUserNotebookApp.default_url=/lab"] | |
- | --- しっかりコマンドが入っている. | |
- | -- 流石に直接編集するのは躊躇われる.(一回やってみる?) | |
- | --- エディタで直接編集したら,Docker から見えなくなった.まあ予想通り. | |
- | | |
- | - ちゃんと動くやつの Cmd[ ] を確認して,docker commit 起動時に -C オプションで変更可! | |
- | -- jupyter の場合:'' docker commit -c 'CMD ["start-notebook.sh"]' jupyter_old jupyter_new'' | |
- | --- /etc/passwd と /etc/group も元に戻しておく | |
- | #br | |
| | | |
| **** 新しいファイルがパーミッションが無いとして,作成できない. [#z72fb1be] | | **** 新しいファイルがパーミッションが無いとして,作成できない. [#z72fb1be] |
| + 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): |