【Docker】3分でjupyterLab(python)環境を作る!

公開:2020/10/05
更新:2020/10/05
2 min読了の目安(約1800字TECH技術記事

はじめに

docker-composeファイルを使ってjupyterLabの環境構築方法を記す。

JupyterLabとは、Jupyter(iPython notebook)をベースにしたインタラクティブな開発環境

必要なファイル、ディレクトリ

  • docker-compose.yml
    • jupyterLab環境に必要な設定などを記述するために使用する。
    • docker runコマンドで起動することもできるが、コマンドが面倒なためこちらを使用。
  • workディレクトリ
    • ipynbファイルなどを保存するための使用する。

ディレクトリ構成

以下のような構成図になるようにファイル、ディレクトリを作成。

.
├── docker-compose.yml
├── work
    

docker-compose.ymlの内容

jupyterLab環境を構築するために、docker-compose.ymlに必要な設定を記述する。

version: "3"
services:
  notebook:
   # https://hub.docker.com/r/jupyter/datascience-notebookからimageをpullする
    image: jupyter/datascience-notebook
    # ポートの設定("ホスト:コンテナ")
    ports:
      - "8888:8888"
    # 環境変数の設定
    environment:
      - JUPYTER_ENABLE_LAB=yes
    # ボリューム(データの永続化の場所)の設定(ホスト:コンテナ)
    # ホスト内のworkディレクトリとコンテナ内の/home/jovyan/workディレクトリが紐づいているイメージ
    volumes:
      - ./work:/home/jovyan/work
    # 最後にjupyterLabに接続するためのコマンドを実行する。
    command: start-notebook.sh --NotebookApp.token=''

起動方法

docker-compose.ymlを書き終えたら、以下のコマンドを実行

$ docker-compose up -d

初回はimageのpullなどで時間がかかる。

コンテナが立ち上がったら、http://localhost:8888 にアクセス。

以下のような画面が立ち上がれば成功!

補足(docker runコマンドで起動したい人向け)

個人的はdocker-composeファイルを利用して起動する方法が好みだが、docker-composeファイルを作るのが面倒な方は以下のコマンドで起動することも可能。

$ docker run --rm -p 8888:8888 -e JUPYTER_ENABLE_LAB=yes -v ./work :/home/jovyan/work jupyter/datascience-notebook

起動時、コンソールに以下のようなログが出てくるので、[トークン]の部分をコピ-。

Copy/paste this URL into your browser when you connect for the first time,
  to login with a token:
  http://7dae9a493ca7:8888/?token=[トークン]

http://localhost:8888 にアクセス。

すると、パスワードなどを求められるので、password欄に先ほどコピーしたtokenをペースト。

すると、jupyterLabの画面となる。