11: 2021-08-01 (日) 17:41:24 iseki |
12: 2021-08-02 (月) 09:58:28 iseki |
| | | |
| **** Docker と Moodleが同じマシンで動いている場合 [#bca29c05] | | **** Docker と Moodleが同じマシンで動いている場合 [#bca29c05] |
- | - Moodle がローカルなら,Moodleの実効ユーザを docker グループに入れればOK? | + | - Moodle がローカルなら,Moodleの実効ユーザを docker グループに入れればOK |
| #br | | #br |
| | | |
| -- Docker の動いているマシンで,グループ docker に属するユーザを作成(例えば docker). | | -- Docker の動いているマシンで,グループ docker に属するユーザを作成(例えば docker). |
| --- パスワードを設定しておく.起動シェルは要らない. | | --- パスワードを設定しておく.起動シェルは要らない. |
| + | ---- # adduser docker -u 105 -g docker -d /var/lib/docker -s /sbin/nologin |
| + | ---- # asswd docker |
| -- Moodle の動いているマシンで以下のコマンドを実行.Moodle | | -- Moodle の動いているマシンで以下のコマンドを実行.Moodle |
| --- ssh -fNL /var/run/mdlds.sock:/var/run/docker.sock docker@202.26.150.55 | | --- ssh -fNL /var/run/mdlds.sock:/var/run/docker.sock docker@202.26.150.55 |
| --- chgrp apache /var/run/mdlds.sock | | --- chgrp apache /var/run/mdlds.sock |
| --- chmod g+rw /var/run/mdlds.sock | | --- chmod g+rw /var/run/mdlds.sock |
- | --- コマンド実行時は DOCKER_HOST=unix:///var/run/xxx.sock または | + | --- コマンド実行時は ''DOCKER_HOST=unix:///var/run/xxx.sock'' または ''docker -H unix:///var/run/mdlds.sock ps'' |
- | --- docker -H unix:///var/run/mdlds.sock ps | + | --- [[docker_rsock.sh>Docker/docker_rsock.sh]] |
- | #br | + | |
- | | + | |
- | ***** ''ボツ'' %%SSH ポートフォワードを使用する.%% [#h0ef173d] | + | |
- | - Moodleが localhost, Docker が 202.26.150.55で動いている場合 | + | |
- | # ssh -fNL localhost:9099:/var/run/docker.sock root@202.26.150.55 (rootログインがセキュリティ的に弱い) | + | |
- | # export DOCKER_HOST=localhost:9099 | + | |
- | # docker volume ls | + | |
- | - %%Docker の実効ユーザを root 以外にしておく.%% ムリポ. Rootlessモードは何か違う. | + | |
- | - Moodleの動いているホストでは,Dockerデーモンは不要.クライアントのみで可. | + | |
- | | + | |
- | - ログイン相手を docker グループのユーザにする. | + | |
- | -- でもローカルポートにアクセス可能なら,結局''やばい状況になる''..ネ. | + | |
- | #br | + | |
- | | + | |
- | ***** ''ボツ'' %%docker の通信機能を使用する%% [#g41b437e] | + | |
- | - /usr/lib/systemd/system/docker.service | + | |
- | -- ex.) ExecStart=/usr/bin/dockerd -H fd:// -H tcp://202.26.150.55:9099 --containerd=/run/containerd/containerd.sock | + | |
- | -- systemctl daemon-reload | + | |
- | -- systemctl restart docker | + | |
- | - ssh:// を指定するとエラー.man でも -H に ssh は載っていない. | + | |
- | - よく考えれば,リモートからは無条件でコマンドを受け入れる.''やばいです''. | + | |
| #br | | #br |
| | | |
| *** [[MDLDockerSpawner>JupyterHub/MDLDockerSpawner]] [#s98f7379] | | *** [[MDLDockerSpawner>JupyterHub/MDLDockerSpawner]] [#s98f7379] |
| - https://gitlab.nsl.tuis.ac.jp | | - https://gitlab.nsl.tuis.ac.jp |
| + | #br |
| + | |
| + | **** docker image [#je2a02e3] |
| + | - docker build で start.sh を置き換えたイメージを作る. |
| #br | | #br |
| | | |
| *** cull_idle_servers.py [#n8a3f52c] | | *** cull_idle_servers.py [#n8a3f52c] |
| + | - 接続の切れた docker コンテナを削除 |
| - [[cull_idle_servers>JupyterHub/DockerSpawner#zc9428f7]] | | - [[cull_idle_servers>JupyterHub/DockerSpawner#zc9428f7]] |
| - https://github.com/jupyterhub/jupyterhub/tree/a6b7e303df03865d6420f6bccdf627b39f1d0dc1/examples/cull-idle | | - https://github.com/jupyterhub/jupyterhub/tree/a6b7e303df03865d6420f6bccdf627b39f1d0dc1/examples/cull-idle |
| - mkdir -p /var/lib/jupyterhub/ | | - mkdir -p /var/lib/jupyterhub/ |
| - FireWall | | - FireWall |
- | -- firewall-cmd --add-port 8000-8001/tcp --permanent // 8001は要らないかもしれない | + | -- firewall-cmd --add-port 8000/tcp --permanent |
- | -- firewall-cmd --add-port 9000-9001/tcp --permanent // feserver 用 | + | -- firewall-cmd --add-port 9000/tcp --permanent // feserver 用 |
| -- firewall-cmd --reload | | -- firewall-cmd --reload |
| | | |
| - vi jupyterhub_config.py | | - vi jupyterhub_config.py |
- | -- IPアドレス,サーバ証明書 | + | -- IPアドレス,サーバ証明書,Dockerイメージの選択 |
| #br | | #br |
- | | |
| ** 起動 [#hccd8a59] | | ** 起動 [#hccd8a59] |
- | - jupyterhub -f jupyterhub_config.py | + | - jupyterhub -f mdldockerspawner/jupyterhub_config.py |
| #br | | #br |