Jupyter NoteをDockerで起動するスクリプトを作りました。
前提や注意点
- dockerを事前にインストール。(17.12.0-ceで動作確認してます)
- コンテナ消滅してもNotebookを維持したい
- ローカルディレクトリ
./work
をボリュームマウントしてます。 - work以外の場所は維持されないのでご注意。
- ローカルディレクトリ
- 本来は、初期生成Tokenでログインする所を、面倒なのでTokenなしで起動してます。
- 「ご利用は、自己責任でお願いします」
- scipyのイメージが、でかい(約4GB)。
- 他にも色々イメージが公開されている。https://hub.docker.com/u/jupyter/
- お好きなイメージに変更してください(jupyter/minimal-notebookとか?)
スクリプト(start.sh)
$ sh start.sh
てな感じでどうぞ。
#!/bin/bash -xe
# jupyter-note container
IMAGE_NAME=jupyter/scipy-notebook # with scipy
CONTAINER_NAME=jupyter
# keep work directory
LOCAL_VOL=$(pwd)/work
mkdir -p $LOCAL_VOL
sudo chown 1000 $LOCAL_VOL # for container user(jovyan uid:1000)
# kill running container
for container_id in $( docker container ls --quiet --filter name=$CONTAINER_NAME); do
docker container rm --force ${container_id}
done
docker run \
--detach \
--name=$CONTAINER_NAME \
--rm \
--publish 8888:8888 \
-v $LOCAL_VOL:/home/jovyan/work \
$IMAGE_NAME start-notebook.sh --NotebookApp.token='' # set token to null (for no auth)