ページ内コンテンツ
Jupyter
rattydave/jupyterhub
- C++, Java, Python, Tensorflow, Julia, SQL, NodeJS, Bash and more
- https://hub.docker.com/r/rattydave/jupyterhub
重い(10G).非力マシンではタイムアウト(30s)する.- これは notebook イメージじゃなくで,jupyterhub だった!
ベースになるイメージに以下の物が含まれていない可能性がある.
- start-notebook.sh
- start.sh (言わずもがな)
- anaconda
- conda
- jupyterhub-singleuser
- juoyterlab (言わずもがな2)
- sudo
lab へのアクセスで 404 Not Found になる.tree (notebook) へのアクセスは可
- vhtec
- /opt/conda/etc/jupyter/jupyter_notebook_config.json をチェックする.(jupyterlab: false になっていたら true に変える)
- jupyter serverextension enable --py jupyterlab --sys-prefix でもOK.上記ファイルは {} となる.
- ファイルを削除(trachへリネーム)しようとすると,OSError: [Errno 18] Invalid cross-device link: のエラーが出る.
- /opt/conda/lib/python3.6/site-packages/send2trash/plat_other.py", line 117 で
os.remove()する. - shutil.move(src, op.join(filespath, destname)) の方が自然.要 import shutil
- /opt/conda/lib/python3.6/site-packages/send2trash/plat_other.py", line 117 で
- /opt/conda/etc/jupyter/jupyter_notebook_config.json をチェックする.(jupyterlab: false になっていたら true に変える)
nbgrader
- https://github.com/LibreTexts/nbgrader-to-jupyterlab/tree/lab-common
- lab ではまだ動かん (2021 8/23)
プロセスの起動順
- /opt/conda/bin/tini
- /usr/local/bin/start-notebook.sh
- /usr/local/bin/start-singleuser.sh
- /usr/local/bin/start.sh
何故かイメージを変更して commit すると引数が2重になる? (非常に重要な問題)
- 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 内で対症療法中
- 上記の Dockerfile を使って作成すれば問題無し
解決編
- 次回起動すると,オプションが 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":["start-notebook.sh","--ip=0.0.0.0","--port=8888","--notebook-dir=/home/teacher/iseki/jupyter","--SingleUserNotebookApp.default_url=/lab"]
- ちゃんと動くやつの Cmd[ ] を確認して,docker commit 起動時に -C オプションで変更可!
- jupyter の場合: docker commit -c 'CMD ["start-notebook.sh"]' jupyter_old jupyter_new
- /etc/passwd と /etc/group も元に戻しておく
- jupyter の場合: docker commit -c 'CMD ["start-notebook.sh"]' jupyter_old jupyter_new
Counter: 436,
today: 1,
yesterday: 0
最終更新: 2021-09-06 (月) 23:53:19 (JST) (1189d) by iseki