JupyterHubのDockerイメージ
本ドキュメントでは、統合されているJupyterHubインスタンスについて説明しており、以下のDockerイメージで構成されているコンポーネントです。
各コンテナの説明は下記をご覧ください。
これらのコンテナは、ともにデプロイされたときにのみ機能し、個別にデプロイした場合は意図通り機能しません。これらをどのようにデプロイするかは、デプロイメントテンプレートを確認してください。
JupyterHub DB
このコンテナには、JupyterHubバックエンドの設定を保存する機能として、Postgresデータベースが実装されています。これは、標準的なPostgreSQLのDockerイメージです。
構成
- ボリューム
- jupyterhub-postgresql-vol: データベースのデータを保持するDockerボリュームで、内部的には/var/lib/postgresql/dataにマップされます。
- ポート: なし
- 環境変数:
- POSTGRES_DB、POSTGRES_USER、POSTGRES_PASSWORD: JupyterHubのデータが保存される場所の、認証情報とデータベース名です。JupyterHubバックエンドコンテナにも同じ値を指定してください。
JupyterHubバックエンド
このコンテナは、JupyterHubサービスのコアを実装している、JupyterHubバックエンドを実装しています。Jupyter Notebook用の認証コンポーネントを提供し、ユーザー管理を行い、認証された各ユーザーのノートブック環境を実行するコンテナのライフサイクルを管理しています。
利用可能なバージョンについては、Docker Hubのタグを参照してください。
構成
- ボリューム
- /var/run/docker.sock: プラットフォームのデプロイメントに使用されるDockerソケットのボリュームマウントです。
- ポート: なし
- 環境変数:
- JHUB_HOSTNAME: バックエンドサービスの内部ホスト名で、デプロイメントの様々なコンポーネントの通信に必要です。
- SERVER_BASE_URL: デプロイメントに存在するRapidMiner Serverインスタンスの内部ホスト名とポートです。
- POSTGRES_HOST: JupyterHubで使用しているデータベースサービスの内部ホスト名です。
- POSTGRES_DB、POSTGRES_USER、POSTGRES_PASSWORD: JupyterHub DBのデータベース名と認証情報です。上記と同じ値を設定する必要があります。
- DOCKER_NOTEBOOK_IMAGE: ログイン後、JupyterHubユーザーごとに生成されるDockerイメージの名前とタグです。
- JUPYTERHUB_CRYPT_KEY: JupyterHub DB内のユーザーデータの暗号化に使用される秘密鍵です。
- DOCKER_NOTEBOOK_CPU_LIMIT、DOCKER_NOTEBOOK_MEM_LIMIT: 各ユーザーのノートブックコンテナが使用できるリソース量です。CPU制限はパーセント値で表され、100が1 CPUコアです。メモリ制限は数と単位で表され、例えば2gは2ギガバイトのメモリを意味します。
- JUPYTER_STACK_NAME: Jupyterスタックの名前で、デフォルト値はdefaultです。一般的なデプロイ時は、変更すべきではありません。
- SSO_PUBLIC_URL、SSO_IDP_REALM、SSO_CLIENT_ID、SSO_CLIENT_SECRET: RapidMiner Identity and Securityの設定です。initサービスで自動的に入力されます。
- PUBLIC_URL: デプロイメントのパブリックURLです。
- JUPYTER_URL_SUFFIX: JupyterHubが提供されるURLのサフィックスです。RapidMiner Proxyは、このサフィックスに到着したリクエストをJupyterHubのバックエンドサービスにリダイレクトします。
- JHUB_DEBUG、JHUB_TOKEN_DEBUG、JHUB_PROXY_DEBUG、JHUB_DB_DEBUG、JHUB_SPAWNER_DEBUG: Trueに設定すると、それぞれのコンテナのロギングのデバッグレベルが有効になります。デフォルトはFalseです。パフォーマンスを向上させるため、必要のないときはオフにしてください。
JupyterHub Notebook
このコンテナは、JupyterHubにログインすると各ユーザーごとにインスタンス化されるコンテナを実装しています。このコンテナはJupyterLabのユーザーインタフェースとデフォルトのPython環境を提供します。
利用可能なバージョンについては、Docker Hubのタグを参照してください。
構成
- ボリューム: ユーザーがJupyterHubにログインすると、作業内容や任意のカスタムPython環境を保持するために新しいユーザーコンテナが作成されます。ユーザーコンテナは、以下のパターンに従って命名されるdockerボリュームの下に保存されます: jupyterhub-user-<username>-<JUPYTER_STACK_NAME>。
- ポート: なし
- 環境変数: なし