Jupyter LabをApacheのリバースプロキシ経由で使ってみる


Dockerコンテナ環境で作ったJupyter LabにApacheのリバースプロキシ経由で接続して使ってみた備忘録です。

目的

Apache2.4を使ったリバースプロキシでJupyter Labコンテナ(同ホスト)へアクセスします。
Apache2.4からWeb Socketのリバースプロキシができるモジュール(mod_proxy_wstunnel.so)が追加されています。
そのためApache2.2ではできません。

環境

項目 バージョン
OS CentoS7.5
Apache 2.4
Docker 1.13.1
Python 3.6

事前条件

Dockerは既にインストール済みとします。

環境準備

Jupyterコンテナ

コンテナにJupyter Labを構築

Pythonコンテナをpullします。

Jupyter Labインストール

PythonコンテナにJupyter Labをインストールします。

Jupyter Labの設定

Jupyter Labの設定をするため設定ファイルを作成します。

Jupyter Labへログインするためのパスワードを生成します。
sha1:... の部分はメモっておいてください。

Jupyter Labの設定をします。

設定したJupyter Labのファイルをコンテナにコピーします。

コンテナIP確認

リバースプロキシに設定するためのコンテナのIPを確認しておきます。

Jupyter Lab起動

Jupyter Labを起動します。
ここでは例のためrootで起動します。

Apache

Apacheのインストール

リバースプロキシとして使うApacheをインストールします。

Apacheの設定

リバースプロキシの設定をします。

Apacheの起動

Apacheを起動します。

動作確認

ブラウザでリバースプロキシへアクセスしてJupyter Labが使えれば問題ありません。

最後に

このやり方であれば、パス(ルート)を個別に設定すれば他のJupyter Labコンテナにもアクセスできますね! 🙂
Jupyterにはマルチユーザーもできる仕組みがありますが、あえてコンテナにしたのは独立性をもたせたかったからです。
このやり方であれば、各自好きにコンテナの中身もterminalでいじれますしね 🙂
ブラウザだけでほぼ完結できそうです。

Leave a Reply

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください