LoginSignup
105

More than 3 years have passed since last update.

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

Last updated at Posted at 2020-06-21

はじめに

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

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

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

  • docker-compose.yml

    • jupyterLab環境に必要な設定などを記述するために使用する。
  • workディレクトリ

    • ipynbファイルなどを保存するための使用する。

ディレクトリ構成

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

構成図
.
├── docker-compose.yml
├── work
    

docker-compose.ymlの内容

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

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 にアクセス。

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

スクリーンショット 2020-06-21 23.24.39.png

補足(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の画面となる。

補足2

pythonライブラリをインストールしたい

pythonライブラリをインストールしたい場合は、pipコマンドを使用する。
jupyterLabの場合は、Cellで実行することができる。

!pip install [pythonライブラリ]

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
105