flagflag  
9: 2021-09-02 (Thu) 14:46:05 iseki source Cur: 2022-07-05 (Tue) 11:43:15 iseki source
Line 1: Line 1:
-* mod_mdlds [#vc2f0b1e]+* mod_lticontainer [#vc2f0b1e] 
 +- サポート対象の MDLDockerSpawner が [[LTIDockerSpawner>JupyterHub/LTIDockerS​pawner]] に名称を変更したので,このモジュールも mod_mdlds から mod_lticontainer へ名称を変更.(2021 9/17) 
 +- さらに変更.[[LTIDockerSpawner>JupyterHub/LTIDockerS​pawner]] は [[LTIContainerSpawner>JupyterHub/LTICont​ainerSpawner]] の一部になる (2021 10/3).迷路は続くよ何処までも. 
 +-- 当然 [[LTIPodmanSpawner>JupyterHub/LTIPodmanS​pawner]] でも使用可能. 
 +#br
** [[Moodle]] Module for Moodle & [[JupyterHub]] Integration [#s675b15a] ** [[Moodle]] Module for Moodle & [[JupyterHub]] Integration [#s675b15a]
-- gitlab: https://gitlab.nsl.tuis.ac.jp/iseki/mod_mdlds+- gitlab: https://gitlab.nsl.tuis.ac.jp/iseki/mod_lticontainer
-- [[MDLDockerSpawner>JupyterHub/MDLDockerSpawner]] をサポートする,Moodle用モジュール+- [[LTIDockerSpawner>JupyterHub/LTIDockerSpawner]],  [[LTIPodmanSpawner>JupyterHub/LTIPodmanS​pawner]] をサポートする,Moodle用モジュール
- see also. [[Moodle+JupyterHub]] - see also. [[Moodle+JupyterHub]]
#br #br
Line 25: Line 29:
*** Lti Edit [#ae39bec4] *** Lti Edit [#ae39bec4]
-- LTI(外部サービス)インスタンスのカスタムパラメータを書き換える.+- [[LTI]](外部サービス)インスタンスのカスタムパラメータを書き換える.
-- 通常は DB上のデータを書き換えるだけ. -- 通常は DB上のデータを書き換えるだけ.
 +-- カスタムパラメータ自体は,JupyterHubに実際に接続(ログイン)した時に送られる.
- データを更新したタイミングで Dockerのボリュームを作成するように設定することも可能. - データを更新したタイミングで Dockerのボリュームを作成するように設定することも可能.
 +#br
 +
 +**** カスタムパラメータ一覧 [#zb17a132]
 +- lms_users=
 +- lms_teachers=
 +- lms_image=
 +- lms_defurl=
 +- lms_cpulimit=
 +- lms_memlimit=
 +- lms_vol_表示名=
 +- lms_sub_表示名=
 +- lms_prs_表示名=
 +- lms_sessionifo=
 +- lms_iframe=
 +
 +- カスタムパラメータ名は snake_case で記述
#br #br
**** Accessible users [#l4e19364] **** Accessible users [#l4e19364]
-- LTIのカスタムパラメータの ''mdl_user'' に対応+- LTIのカスタムパラメータの ''lms_users'' に対応
- Volume セクションで記述したボリュームをマウントできるユーザを指定する. - Volume セクションで記述したボリュームをマウントできるユーザを指定する.
- ユーザはMoodleのユーザ名を,カンマ(,)または空白で区切って記述する. - ユーザはMoodleのユーザ名を,カンマ(,)または空白で区切って記述する.
Line 39: Line 60:
**** Teachers [#zc5de450] **** Teachers [#zc5de450]
-- LTIのカスタムパラメータの ''mdl_teacher'' に対応 +- LTIカスタムパラメータの ''lms_teachers'' に対応 
-- コースの教師を指定する.指定の仕方は,mdl_user と同じ.* も使えるが,使う意味がない.(全員教師って何?) +- コースの教師を指定する.指定の仕方は,lms_user と同じ.* も使えるが,使う意味がない.(全員教師って何?) 
-- 教師の特権+- 途中で教師のメンバを変更した場合は,Task volume および Submit volume のオーナが教師グループから外れる可能性があるので,注意が必要. 
 +-'' 教師の特権''
-- Task volume に書き込みができる. -- Task volume に書き込みができる.
-- Submit volume にあるファイルの読み込み,コピー,削除ができる. -- Submit volume にあるファイルの読み込み,コピー,削除ができる.
--- ボリュームのアクセス名の先頭に マイナス(-) を付けた場合,教師に対してのみアクセス用のリンクが張られる(-は削除される)+-- ボリュームのアクセス名の先頭に マイナス(-) を付けた場合,教師に対してのみアクセス用のリンクが張られる(-は削除されてリンクが張られる)
--- 学生にリンクによるアクセスをさせたくない場合に使用(セキュリティ的な意味ではなく,操作上の学生の混乱を少なくさせるためのもの) --- 学生にリンクによるアクセスをさせたくない場合に使用(セキュリティ的な意味ではなく,操作上の学生の混乱を少なくさせるためのもの)
---- Personal volume を使うときに,Task volumeに使うと便利.と言うか,そのために作った.+--- ''Personal volume を使うときに,Task volumeにマイナス付きのリンク名を指定すると便利.''と言うか,そのために作った.
#br #br
**** Container image [#h616d693] **** Container image [#h616d693]
-- LTIのカスタムパラメータの ''mdl_image'' に対応+- LTIのカスタムパラメータの ''lms_image'' に対応
- 起動するコンテイメージを指定する.デフォルトの場合は,設定ファイルで指定したイメージ. - 起動するコンテイメージを指定する.デフォルトの場合は,設定ファイルで指定したイメージ.
- Jupyter Lab/Notebook 以外のイメージを選択した場合は,漏れなくシステムが死にます. - Jupyter Lab/Notebook 以外のイメージを選択した場合は,漏れなくシステムが死にます.
--- じゃあ,Jupyter Lab/Notebook のイメージだけ表示すればと言われても,私の現時点でのスキルでは無理です.+-- じゃあ,Jupyter Lab/Notebook のイメージだけ表示すればと言われても,%%私の現時点でのスキルでは無理です%%. 
 +-- 一応イメージ名に含まれる文字列に対して,フィルターを掛けることができるようにしました.
#br #br
-**** Sub URL [#b8add38d] +**** Default URL [#b8add38d] 
-- LTIのカスタムパラメータの ''mdl_suburl'' に対応+- LTIのカスタムパラメータの ''lms_defurl'' に対応
- Lab か Notebook のどちらにアクセスするかのURLを指定する.デフォルトは設定ファイルで指定したURL. - Lab か Notebook のどちらにアクセスするかのURLを指定する.デフォルトは設定ファイルで指定したURL.
- Lab を指定した場合は,起動するコンテイメージが Labをサポートしていないと 404 not found になる. - Lab を指定した場合は,起動するコンテイメージが Labをサポートしていないと 404 not found になる.
 +#br
 +
 +**** CPU Limit [#nd4baaa6]
 +- ''lms_cpulimit'' に対応.
 +- Docker コンテナ内での CPU数の上限
 +#br
 +
 +**** Memory Limit [#d46eb1f0]
 +- ''lms_memlimit'' に対応.
 +- Docker コンテナ内での メモリの上限
 +- CPU Limit は 0.1 でも結構動くが,メモリ 120Mぐらいだと JupyterHub/singleuser のコンテナは起動しない.
 +-- 140M くらいだと何とかコンテナは起動するが,ほぼ使えない.
 +-- 180M くらいで何とか使用できるようになる.
 +-- mod_lticontainer では,余裕を考えてきりのいい 200M から表示.
#br #br
**** Volume セクション [#m11ddd29] **** Volume セクション [#m11ddd29]
- Task volume, Submit volume はユーザが JupyterHubにアクセスしたときに(許可があれば)マウントされる. - Task volume, Submit volume はユーザが JupyterHubにアクセスしたときに(許可があれば)マウントされる.
--- 許可ユーザの書き方は mdl_user(Accessible users) と同じ.ただしデフォルト(空欄)では,全てのユーザが許可される. +-- 許可ユーザの書き方は lms_user(Accessible users) と同じ.ただしデフォルト(空欄)では,全てのユーザが許可される. 
--- md_user(Accessible users)よりも,ここで指定される個々の許可ユーザの方が優先される.+-- lms_user(Accessible users)よりも,ここで指定される個々の許可ユーザの方が優先される.
-- * も使用できるが意味はない. 空欄にしておけば良いので. -- * も使用できるが意味はない. 空欄にしておけば良いので.
-- 通常は誰かが jupyterHubにアクセスしてログインした瞬間に(ボリュームが存在しなければ)ボリュームが作成され,マウントされる. -- 通常は誰かが jupyterHubにアクセスしてログインした瞬間に(ボリュームが存在しなければ)ボリュームが作成され,マウントされる.
Line 86: Line 123:
-- ドット(.)を指定すると,ボリュームのフルネームでリンクが作られる.(ln -s ボリューム名 .  が実行されるため) -- ドット(.)を指定すると,ボリュームのフルネームでリンクが作られる.(ln -s ボリューム名 .  が実行されるため)
-- アクセス名の無いエントリを作成すると,カスタムパラメータから削除される. -- アクセス名の無いエントリを作成すると,カスタムパラメータから削除される.
 +-- ボリュームのアクセス名の先頭に マイナス(-) を付けた場合,教師に対してのみアクセス用のリンクが張られる(-は削除されてリンクが張られる)
#br #br
***** Task volume [#j8ff684d] ***** Task volume [#j8ff684d]
-- LTIのカスタムパラメータの ''mdl_vol_表示名=アクセス名: 許可ユーザ'' に対応+- LTIのカスタムパラメータの ''lms_vol_表示名=アクセス名: 許可ユーザ'' に対応
- 課題提示用ボリューム.教師は書き込み可能だが,学生は読み出しのみ可能 - 課題提示用ボリューム.教師は書き込み可能だが,学生は読み出しのみ可能
-  Volumes タブで削除可能 -  Volumes タブで削除可能
Line 97: Line 135:
***** Submit volume [#h71a48b0] ***** Submit volume [#h71a48b0]
-- LTIのカスタムパラメータの ''mdl_sub_表示名=アクセス名: 許可ユーザ'' に対応+- LTIのカスタムパラメータの ''lms_sub_表示名=アクセス名: 許可ユーザ'' に対応
- 課題回収用ボリューム.教師は読み出し(書き込み,削除:これはオーナのみ)が可能だが,学生は課題の提出(書き込み)と自分の提出した課題にのみアクセス(読み出し,削除)可能 - 課題回収用ボリューム.教師は読み出し(書き込み,削除:これはオーナのみ)が可能だが,学生は課題の提出(書き込み)と自分の提出した課題にのみアクセス(読み出し,削除)可能
-  Volumes タブで削除可能 -  Volumes タブで削除可能
Line 105: Line 143:
***** Personal volume [#xde7793d] ***** Personal volume [#xde7793d]
-- LTIのカスタムパラメータの ''mdl_prs_表示名=アクセス名: 許可ユーザ'' に対応+- LTIのカスタムパラメータの ''lms_prs_表示名=アクセス名: 許可ユーザ'' に対応
- これはユーザの専用ボリュームに''恒久的に作成されるディレクトリ''である. - これはユーザの専用ボリュームに''恒久的に作成されるディレクトリ''である.
- ユーザ本人しかアクセスできない.(コンテナ起動時の管理プロセスを除く) - ユーザ本人しかアクセスできない.(コンテナ起動時の管理プロセスを除く)
- Task volume, Submit volume は Volumes タブで削除可能だが,これは一度作成するとシステムの管理者またはユーザ本人しか削除できない - Task volume, Submit volume は Volumes タブで削除可能だが,これは一度作成するとシステムの管理者またはユーザ本人しか削除できない
-- このモジュールからの削除は,やってやれないこともないが,現時点ではその機能は実装されていない. -- このモジュールからの削除は,やってやれないこともないが,現時点ではその機能は実装されていない.
-- ''Task volume と同じ名前(表示名)で作成すると,コンテナ起動時に Task vokume の内容がここにコピーされる.''+- ''Task volume と同じ名前(表示名)で作成すると,コンテナ起動時に Task volume の内容がここにコピーされる.''
-- 課題配布に使用するのが主な目的. -- 課題配布に使用するのが主な目的.
-- 取り扱いが面倒だが,上手く使えば強力. -- 取り扱いが面倒だが,上手く使えば強力.
Line 120: Line 158:
**** その他のカスタムパラメータ [#w8e77374] **** その他のカスタムパラメータ [#w8e77374]
-- ''mdl_sessionifo'' : このモジュールのインスタンスIDと対応する LTIインスタンスのIDが自動的に設定される.+- ''lms_sessionifo'' : このモジュールのインスタンスIDと対応する LTIインスタンスのIDが自動的に設定される.
-- ユーザが気にすることは何もない.このデータは実際には feserver の feplg_nbwsモジュールに送られてる. -- ユーザが気にすることは何もない.このデータは実際には feserver の feplg_nbwsモジュールに送られてる.
 +- ''lms_iframe'' : iframeサポート.自動的に設定される.
 +-- %%ただし正常に動かすためには,jupyterhub_config.py の host_url を設定しなければならない.%%
 +-- host_url を設定しなくとも動きますが,デフォルトの host_url はセキュリティ的にちと甘いです.可能なら設定してください.
 +-- ホストの Python のバージョンが 3.7以下の場合は使用できない(jupyterhubのエラーになる).tornado が cookie の samesite を処理できないため.
 +--- jupyterhub のエラーメッセージ:http.cookies.CookieError: Invalid attribute 'samesite'
 +
- 現時点で(実装しているけど)使用していないカスタムパラメータ. - 現時点で(実装しているけど)使用していないカスタムパラメータ.
--- mdl_option :コマンドオプション.そのうち使うかも. +-- lms_options :コマンドオプション.そのうち使うかも.
--- mdl_grname:教師用グループのグループ名.固定名(TEACHERS)で十分な気がする.+
- このモジュールが使用するもの以外の カスタムパラメータには一切影響を及ぼさない. - このモジュールが使用するもの以外の カスタムパラメータには一切影響を及ぼさない.
Line 133: Line 176:
- Personal volume は操作対象外. - Personal volume は操作対象外.
- 表示されるボリューム名(表示名)は,省略された名前. - 表示されるボリューム名(表示名)は,省略された名前.
-- ボリュームのフルネーム(正式名): ''mdl_[ vol | sub | prs ]_表示名_コースID_MoodleホストのFQDN'' +- ボリュームのフルネーム(正式名): ''lms_[ vol | sub | prs ]_表示名_コースID_MoodleホストのFQDN'' 
--- 例:''mdl_vol_xyz_98_el.mml.tuis.ac.jp''+-- 例:''lms_vol_xyz_98_el.mml.tuis.ac.jp'' 
 +#br 
 + 
 +** Trouble Shooting [#cb048806] 
 +**** Call to undefined function posix_getpwuid() [#hafc01be] 
 +- php-process をインストールする 
 + yum -y install php-process 
 + 
 +**** The web server process does not have write access to its own home directory. Please check the permissions. [#ja22db7c] 
 +- Webサーバの実効ユーザのホームディレクトリを調べて,そのディレクトリを実効ユーザの持ち物にする. 
 + vipw /etc/passwd 
 + cd /usr/share/httpd/ 
 + chown apache.apache .
#br #br
** 課題の配布と回収例 [#z4207c5c] ** 課題の配布と回収例 [#z4207c5c]
-*** mdl_vol mdl_sub を使用する. [#c7ce7bf8]+*** lms_vol lms_sub を使用する. [#c7ce7bf8]
**** 課題作成 [#k47c555f] **** 課題作成 [#k47c555f]
+ 設定 + 設定
--- mdl_user : 空欄 +-- lms_user : 空欄 
--- mdl_teacher : 自分のユーザ名 +-- lms_teacher : 自分のユーザ名 
--- mdl_image : 課題で使用するイメージ +-- lms_image : 課題で使用するイメージ 
--- mdl_vol : 適当なアクセス名,許可ユーザに自分のユーザ名+-- lms_vol : 適当なアクセス名,許可ユーザに自分のユーザ名
+ JupyterHub にログイン. + JupyterHub にログイン.
-+ mdl_vol 内で教材を作成.他の適当なディレクトリで作業しても良い. ++ lms_vol 内で教材を作成.他の適当なディレクトリで作業しても良い. 
-+ ipynb_deploy コマンドでファイルを変換.++ ipynb_deploy コマンドでファイルを変換・コピー.
++ ipynb_deploy コマンドは,後で採点や統計作業を行い易いようにするために,ファイル内のコードセルに通し番号を付ける. ++ ipynb_deploy コマンドは,後で採点や統計作業を行い易いようにするために,ファイル内のコードセルに通し番号を付ける.
-++ mdl_vol 内で作業していて,作業場所をそのまま公開する場合は,''ipynb_deploy . ''と入力する.+++ lms_vol 内で作業していて,作業場所をそのまま公開する場合は,''ipynb_deploy . ''と入力する.
++ ipynb_deploy コマンドを実行する前に,必ずファイルのバックアップを取ること.もし ipynb_deploy の実行によりファイルが破損しても,当方は一切責任は持てません. ++ ipynb_deploy コマンドを実行する前に,必ずファイルのバックアップを取ること.もし ipynb_deploy の実行によりファイルが破損しても,当方は一切責任は持てません.
#br #br
Line 156: Line 211:
**** 課題公開 [#f395156f] **** 課題公開 [#f395156f]
+ 設定 + 設定
--- mdl_user : * +-- lms_user : * 
--- mdl_teacher : 自分のユーザ名 +-- lms_teacher : 自分のユーザ名 
--- mdl_image : 課題で使用するイメージ +-- lms_image : 課題で使用するイメージ 
--- mdl_vol : 課題提示用ボリューム.適当なアクセス名を指定.許可ユーザは空欄 +-- lms_vol : 課題提示用ボリューム.適当なアクセス名を指定.許可ユーザは空欄 
--- mdl_sub : 課題収集用ボリューム.適当なアクセス名を指定.許可ユーザは空欄.+-- lms_sub : 課題収集用ボリューム.適当なアクセス名を指定.許可ユーザは空欄.
#br #br
**** 課題の実施(学生) [#dc3f3da2] **** 課題の実施(学生) [#dc3f3da2]
-+ ''学生は,mdl_vol 内から,自分の作業用場所(~/jupyter または ~/jupyter/works 下など)に課題ファイルをコピー''++ ''学生は,lms_vol 内から,自分の作業用場所(~/jupyter または ~/jupyter/works 下など)に課題ファイルをコピー''
+ 課題を行う. + 課題を行う.
-+ 提出は,課題ファイルを指定された提出用 mdl_sub ボリュームにコピーする.この際,ファイル名に自分の学籍番号,名前を追加する.++ 提出は,課題ファイルを指定された提出用 lms_sub ボリュームにコピーする.この際,ファイル名に自分の学籍番号,名前を追加する.
++ ファイル提出の際には ''ipynb_submit'' コマンドが使用できる.ipynb_submi はファイル名にユーザ名を自動的に付け加えて,指定されたフォルダにコピーする. ++ ファイル提出の際には ''ipynb_submit'' コマンドが使用できる.ipynb_submi はファイル名にユーザ名を自動的に付け加えて,指定されたフォルダにコピーする.
++ 例)''ipynb_submit kadai-1.ipynb  課題1提出用''  ++ 例)''ipynb_submit kadai-1.ipynb  課題1提出用'' 
#br #br
-*** 加えて mdl_prs を使用する. [#f2ab0290]+*** 加えて lms_prs を使用する. [#f2ab0290]
**** 課題作成 [#u9ae551e] **** 課題作成 [#u9ae551e]
+ 設定 + 設定
--- mdl_user : 空欄 +-- lms_user : 空欄 
--- mdl_teacher : 自分のユーザ名 +-- lms_teacher : 自分のユーザ名 
--- mdl_image : 課題で使用するイメージ +-- lms_image : 課題で使用するイメージ 
--- mdl_vol : ''先頭にマイナス(-)を付けたアクセス名''.許可ユーザに自分のユーザ名+-- lms_vol : ''先頭にマイナス(-)を付けたアクセス名''.許可ユーザに自分のユーザ名
+ JupyterHub にログイン. + JupyterHub にログイン.
-+ mdl_vol 内で教材を作成.以前作成した教材ファイルとファイル名が被らないように注意する.他の適当なディレクトリで作業しても良い. ++ lms_vol 内で教材を作成.以前作成した教材ファイルとファイル名が被らないように注意する.他の適当なディレクトリで作業しても良い. 
-+ ipynb_deploy コマンドで課題ファイルを変換.++ ipynb_deploy コマンドで課題ファイルを変換・コピー.
++ ipynb_deploy コマンドは,後で採点や統計作業を行い易いようにするために,ファイル内のコードセルに通し番号を付ける. ++ ipynb_deploy コマンドは,後で採点や統計作業を行い易いようにするために,ファイル内のコードセルに通し番号を付ける.
-++ mdl_vol 内で作業していて,作業場所をそのまま公開する場合は,''ipynb_deploy .  ''と入力する.+++ lms_vol 内で作業していて,作業場所をそのまま公開する場合は,''ipynb_deploy .  ''と入力する.
++ 注)ipynb_deploy コマンドを実行する前に,必ずファイルのバックアップを取ること.もし ipynb_deploy の実行によりファイルが破損しても,当方は一切責任は持てません. ++ 注)ipynb_deploy コマンドを実行する前に,必ずファイルのバックアップを取ること.もし ipynb_deploy の実行によりファイルが破損しても,当方は一切責任は持てません.
#br #br
Line 188: Line 243:
**** 課題公開 [#leb1cb54] **** 課題公開 [#leb1cb54]
+ 設定 + 設定
--- mdl_user : * +-- lms_user : * 
--- mdl_teacher : 自分のユーザ名 +-- lms_teacher : 自分のユーザ名 
--- mdl_image : 課題で使用するイメージ +-- lms_image : 課題で使用するイメージ 
--- mdl_vol : 先頭にマイナス(-)を付けたアクセス名,許可ユーザは空欄.学生にはリンク名は表示されない. +-- lms_vol : 先頭にマイナス(-)を付けたアクセス名,許可ユーザは空欄.学生にはリンク名は表示されない. 
--- mdl_prs : 適当な名前.許可ユーザは空欄. +-- lms_prs : 表示名はlms_vol と同じにする.アクセス名は適当な名前.許可ユーザは空欄. 
--- mdl_sub : 課題収集用ボリューム.適当なアクセス名.許可ユーザは空欄.+-- lms_sub : 課題収集用ボリューム.適当なアクセス名.許可ユーザは空欄.
#br #br
**** 課題の実施(学生) [#g9c148c0] **** 課題の実施(学生) [#g9c148c0]
-+ ''学生は mdl_prs 内にあるファイルを使って,そのまま課題を行う.'' ++ ''学生は lms_prs 内にあるファイルを使って,そのまま課題を行う.'' 
-+ 提出は,課題ファイルを指定された提出用 mdl_sub ボリュームにコピーする.この際,ファイル名に自分の学籍番号,名前を追加する.++ 提出は,課題ファイルを指定された提出用 lms_sub ボリュームにコピーする.この際,ファイル名に自分の学籍番号,名前を追加する.
++ ファイル提出の際には ''ipynb_submit'' コマンドが使用できる.ipynb_submi はファイル名にユーザ名を自動的に付け加えて,指定されたフォルダにコピーする. ++ ファイル提出の際には ''ipynb_submit'' コマンドが使用できる.ipynb_submi はファイル名にユーザ名を自動的に付け加えて,指定されたフォルダにコピーする.
++ 例)''ipynb_submit kadai-1.ipynb 課題1提出用''  ++ 例)''ipynb_submit kadai-1.ipynb 課題1提出用'' 
Line 205: Line 260:
** オプション [#td7f849a] ** オプション [#td7f849a]
-*** XML-RPC [#w4125370]+*** Moodle [#qfea410a] 
 +**** XML-RPC [#w4125370]
- feserver の feplg_nbws モジュールからの XML-PRC を受信し,データをデータベースに格納可能. - feserver の feplg_nbws モジュールからの XML-PRC を受信し,データをデータベースに格納可能.
- オプションだから,やらなくても良い(feserver を使用しなくても良い) - オプションだから,やらなくても良い(feserver を使用しなくても良い)
Line 214: Line 270:
*** Install [#cb55e0da] *** Install [#cb55e0da]
 # cd {moodle_dir}/mod  # cd {moodle_dir}/mod
- # git clone https://gitlab.nsl.tuis.ac.jp/iseki/mod_mdlds.git + # git clone https://gitlab.nsl.tuis.ac.jp/iseki/mod_lticontainer.git 
- # mv mod_mdlds mdlds + # mv mod_lticontainer ltids 
- # chown -R apache.apache mdlds+ # chown -R apache.apache ltids
 access to moodle by admin  access to moodle by admin
-*** docker_rsock.sh [#b8408faf] +*** container_rsock.sh [#b8408faf] 
-- docker のリモートコントロール用シェルスクリプト+- Docker/Podman のリモートコントロール用シェルスクリプト
- ssh のポートフォワーディングを使って,UNIXのソケットファイルを繋げる. - ssh のポートフォワーディングを使って,UNIXのソケットファイルを繋げる.
-- Dockerホスト側に,sshでログイン可能な(ログイン)ユーザが必要.+- Docker/Podman ホスト側に,sshでログイン可能な(ログイン)ユーザが必要.
#br #br
-**** Moodle 側について [#x2ea61d9]+**** LMS 側について [#x2ea61d9]
- docker クライアント(/usr/bin/docker)が必要 - docker クライアント(/usr/bin/docker)が必要
#br #br
-**** docker 側のログインユーザについて [#u03a87eb]+ 
 +**** docker/podman 側のログインユーザについて [#u03a87eb]
+ ユーザのホームディレクトリについて,ユーザが書き込み可能であること. + ユーザのホームディレクトリについて,ユーザが書き込み可能であること.
-++ CentOS8 で嵌った.ユーザを dockerにしたんだが,dockerのホームディレクトリなのに,dockerが書き込み可能でなかった. +++ CentOS8 で嵌った.ユーザを dockerにしたんだが,docker/podmanのホームディレクトリなのに,docker/podmanが書き込み可能でなかった. 
-+ ユーザが docker のグループに属していること(UNIXソケットファイルにアクセスするため).++ ユーザが docker/podman のグループに属していること(UNIXソケットファイルにアクセスするため).
+ ユーザのログインシェルは不要 + ユーザのログインシェルは不要
#br #br
-** Hack [#o0db98a7+*** ipynb_deploy [#r5db573e
-*** [[DB>./DB]] [#df5455f9]+- ipynb ファイル内のコードセルに通し番号を付ける. 
 +- 学習記録分析などの,後処理用 
 +#br
-**** [[mdl_mdlds>./DB/mdl_mdlds]] [#q6c18d6f+** System [#hc13caeb] 
-**** [[mdl_mdlds_websock_data>./DB/mdl_mdlds_websock_data]] [#tcb471ae+ 
-**** [[mdl_mdlds_websock_session>./DB/mdl_mdlds_websock_session]] [#r217fd43+*** [[DB>./DB]] [#df5455f9
-**** [[mdl_mdlds_websock_tags>./DB/mdl_mdlds_websock_tags]] [#y6a5decf]+- [[mdl_lticontainer>./DB/mdl_lticontainer]] 
 +- [[mdl_lticontainer_client_data>./DB/mdl_lticontainer_client_data]] 
 +- [[mdl_lticontainer_server_data>./DB/mdl_l​ticontainer_server_data]
 +- [[mdl_lticontainer_session  >./DB/mdl_lticontainer_session]] 
 +- [[mdl_lticontainer_tags>./DB/mdl_lticonta​iner_tags]]
#br #br


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 MonthJun 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
Today

Who's Online

38 user(s) are online (8 user(s) are browsing xpwiki)

Members: 0
Guests: 38

more...

Access Counter

Today : 2268226822682268
Yesterday : 4733473347334733
Total : 2373049323730493237304932373049323730493237304932373049323730493
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com