LoginSignup
8
10

More than 3 years have passed since last update.

docker上でjupyter-notebookを使用する方法

Last updated at Posted at 2020-01-04

dockerコンテナ上でjupyter-notebookを起動させてローカルPCのブラウザで動かすための方法。

1. ポートの接続

コンテナ上のポートとローカルのポートを接続する。

docker run -p [ローカルのポート]:[コンテナのポート]

とすれば接続できる。

2. notebook起動時にオプションをつける

コンテナ上でjupyter notebookとコマンドしても

OSError: [Errno 99] Cannot assign requested address

と出る。
以下のようにipとallow-rootオプションをつければ解決。

jupyter notebook --ip=0.0.0.0 --allow-root

※もし、1.のポートの接続時のコンテナのポートがnotebookのデフォルト値の8888以外にした場合は以下のようにしてポートも設定する必要がある。

jupyter notebook --port [コンテナ側の接続ポート] --ip=0.0.0.0 --allow-root

3. ブラウザでnotebookにアクセス

ローカルPCのブラウザでコンテナで起動したnotebookにアクセスする。
ブラウザに下記URLを打ち込む。

localhost:[ローカル側の接続ポート]

するとJupyter Notebookの画面に遷移してPassword or token:と入力が求められる。

入力するためのtokenはコンテナ上でnotebookを起動したときに以下のようなURLが出るのでそこから取得する。

    Copy/paste this URL into your browser when you connect for the first time,
    to login with a token:
        http://5217807fea51:8888/?token=601c330c097e59cd7b69dcaa6ea336218583a492e4684bde&token=601c330c097e59cd7b69dcaa6ea336218583a492e4684bde

上の場合、601c330c097e59cd7b69dcaa6ea336218583a492e4684bdePassword or token:に入力すればいつものnotebookの画面に遷移する。

4. notebookの設定を変更する(オプション)

notebook起動時に--portとか--ip=0.0.0.0とか--allow-rootとかをいちいち打ち込むのが面倒くさい人用。
これらの設定をconfigに書き込んでおく。
まず下記コマンドでconfigファイルを作成。

jupyter notebook --generate-config

/root/.jupyter/jupyter_notebook_config.pyにconfigファイルが作成されるので以下を書き加える。

c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.port = [コンテナ側の接続ポート]
c.NotebookApp.token = ''
c.NotebookApp.allow_root = True
c.NotebookApp.open_browser = False

以後はjupyter notebookとコマンドするだけで良い。

8
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
10