Dockerでjupyter lab環境を構築できる
マウント用の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
ディレクトリをマウントしているので、任意のソースやデータを配置して使用する
Dockerで基本的なData Science環境(Jupyter, Python, R, Julia, 定番ライブラリ)を構築する。
サーバーのDockerで起動したJupyter Notebookを他のパソコンからアクセスできるようにした話