はじめに
JupyterLabの環境をサクッと(乱暴に)立ち上げる方法に関するメモ。
「dockerでサクッとJupiterLabを立ち上げてxxx試してみたいなあ、、、
でも、今後使うかはわからないし、いちいちDockerfile書いたり、イメージをビルドするのも面倒臭いんだよなあ、、、」
というくらいのモチベーションの時に使うことを想定している。
研究や開発など、再現性が必要なケースではきちんとイメージのビルドをしておくべきだと思う。
前提条件
-
docker
およびdocker-compose
を実行可能な環境が整っている
準備
ディレクトリ構成 (必要に応じて.ipynbファイルなど)
.
├─ docker-compose.yml
└─ requirements.txt
各ファイルの内容
docker-compose.yml
version: '2'
services:
jupyter:
image: python:3.9.10
container_name: jupyter
volumes:
- .:/app
ports:
- "8888:8888"
working_dir: /app
command: >
bash -c "pip install --upgrade pip
&& pip install -r requirements.txt
&& jupyter lab --no-browser --port=8888 --ip=0.0.0.0 --allow-root --NotebookApp.token=''"
docker-compose.yml
ではpython:3.9.10
イメージからコンテナを起動し、pipのアップグレード、requirements.txt
に書かれたパッケージのインストール、JupyterLabの起動を行う。
requirements.txt
scikit-learn
matplotlib
jupyterlab
requirements.txt
には必要なパッケージの一覧を書く。
上の例ではscikit-learn、matplotlib、jupyterlabをインストールする。
コンテナの起動と終了
docker-compose up
で起動。
webブラウザでhttp://localhost:8888
などにアクセスすればJupyterLabが使用できる。
docker-compose down
で終了。