docker-jupyter

Feature

Dockerでjupyter lab環境を構築できる

Usage

作業ディレクトリを準備

マウント用のworkディレクトリを作成しておく

コンテナを起動

docker-compose up --build

http://127.0.0.1:8888/?token=hogehuga と表示される
がdocker-compseにてポートを10000にしているので変更する
ブラウザでアクセスして、トークンを入力するとnotebook展開される

docker exec --rm -it -v `pwd`:/home/jovyan/work -p 10000:8888 --name jupyter
  • -v : ホストにあるファイルをコンテナ内にマウント {ホストのパス}:{コンテナのパス}
  • -p : ポートフォワード設定 {外部からアクセスするポート}:{コンテナ側のポート}

パスワードの設定

JupyterLab上で以下を実行する

from IPython.lib import passwd
passwd()

任意のパスワードを入力すると SHA1 文字列が得られる
この文字列を .env に定義し docker-compose.yml に渡してあげることでパスワードによるアクセスが可能になる

# docker-compsose.yml

version: "3"

services:
    jupyterlab:
        container_name: "jupyter_lab"
        build:
            context: .
            dockerfile: ./Dockerfile
        ports:
            - "10000:8888"
        volumes:
            - "./work:/home/jovyan/work"
        environment: 
            NB_UID: 501
            GRANT_SUDO: "yes"
        command: start.sh jupyter lab --NotebookApp.password=${NOTEBOOK_PASS}
        tty: true
# .env
NOTEBOOK_PASS='sha1:hogehuga......'

最後にコンテナを再起動

docker-compose up -d

コンテナへアクセス (パスワードの設定後)

docker-jupyter % docker exec -it jupyter_lab bash

docker-compose.yml にて work ディレクトリをマウントしているので、任意のソースやデータを配置して使用する

Note

Dockerを使って5分でJupyter環境を構築する

Dockerで基本的なData Science環境(Jupyter, Python, R, Julia, 定番ライブラリ)を構築する。

サーバーのDockerで起動したJupyter Notebookを他のパソコンからアクセスできるようにした話

数学科が独学でDockerの理解度チェックとしてJupyterLabの環境構築

DockerでJupyterLabを構築する