LoginSignup
10
19

More than 5 years have passed since last update.

Jupyter Notebook の Dockerコンテナを立ち上げる

Last updated at Posted at 2018-11-06

Jupyter Notebookはブラウザ上でコーディングや実行ができ、
グラフなどの成果物を手軽に共有できるオープンソースのWebアプリケーションです。
GitHub( jupyter/notebook )

コンテナを起動する

DockerイメージはDocker Hub( jupyter )に公開されています。

起動コマンド
jupyter/datascience-notebookを使用しています。

$ sudo docker run -d --name jupyter-notebook \
--user=root  \
-e NB_UID=$(id -u) \
-e NB_GID=$(id -g) \
-e GRANT_SUDO=yes \
-p 8888:8888 \
-v /home/hoge/fuga:/home/jovyan/share \
jupyter/datascience-notebook
パラメータ 設定値
p ホスト側(左側の8888)をホストマシンの空きポート番号とする
v ホスト側(/home/hoge/fuga)のhogeをあなたのユーザ名、fugaを配下のお好きなディレクトリとする。
成果物を出力するコンテナ内のディレクトリ(home/jovyan/share)としてマウントされます。

成果物がコンテナ内に生成されると何かと不便ですので、volume設定しています。
さらに、マウントされたdockerホスト側ディレクトリのファイルをコンテナ内で読み書きできるよう、コンテナ内はrootユーザで動作するようにしています。
これをしないとコンテナ内からvolume領域にファイルを生成できません。

token取得

取得コマンド

docker exec -it jupyter-notebook jupyter notebook list

実行すると以下のようなtoken付きのURLが表示されます。
このURLにアクセスするとWeb画面を使用できます。
http://localhost:8888/?token=123456789012345678901234567890

コンテナ外からアクセスする場合は以下のようなURLになります。
http://{コンテナのIPアドレス}:{コンテナ内のport}/?token={トークン}
コンテナ内のportは固定値で8888です。
コンテナのIPアドレスは以下コマンドで調べられます。

docker inspect jupyter-notebook | grep IPAddress

もしくは以下でもアクセスできます。
http://{ホストマシンのIPアドレス}:{ホスト側のport}/?token={トークン}

Web画面上で/share配下に新規ファイルを作成してみて、ホストマシンのディレクトリ(/home/hoge/fuga)に生成されていれば成功です。

ボリューム設定により、コンテナ内だけでなく、
ホストマシン側ディレクトリでファイルの入出力ができますので、
入力データを格納したり成果物を共有するのに便利です。

10
19
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
10
19