概要
以下のような相談を受けた
「docker jupyter/scipy-notebook を動かすと一見動いているように見えるが、
新規作成をすると、エラーで作成ができない。
コンテナ内で完結している場合はエラーがでないので、
自分のホームディレクトリを共有している場合にのみ起こるのではないか?」
結論
docker run -d --user=root -p 12345:8888 -v $PWD/test_notebooks:/home/jovyan/work -e NB_UID=$(id -u) jupyter/scipy-notebook:9f4ed032bada
$PWDは$HOMEとかなんでも環境に合わせる
8888 は、コンテナの中のjupyterのポート。こちらは変更しない。
12345 は、dockerの動いているホストで待ち受けるポート。こちらはあなたの環境に合わせて変更する。
やったこと
mkdir -p test_notebooks/test_dir
echo “” > test_notebooks/test1.ipynb
docker run -d --user=root -p 8888:8888 -v $PWD/test_notebooks:/home/jovyan/work -e NB_UID=$(id -u) jupyter/scipy-notebook:9f4ed032bada
動作確認
python 2.7 新規作成したあと
import numpy as np
このあと、Ctrl+Enter
np.sin(np.pi/2.)
このあと、Ctrl+Enter
1.0
自分のホスト側での確認
$ ls -l test_notebooks/
total 8
-rw-r--r-- 1 docker staff 1082 Mar 31 04:56 sin1.ipynb
-rw-r--r-- 1 docker staff 7 Mar 31 04:49 test1.ipynb
drwxr-sr-x 2 docker staff 40 Mar 31 04:49 test_dir/
感想
latest しかタグがないかと勝手に思い込んでいたが、タグはあった。
- docker hub の scipy-notebook のタグのページ
今後
group の対応を考えたい。
参考
-
- docker hub にある jupyterの場所
-
- jupyter/docker-stacks: Opinionated stacks of ready-to-run Jupyter applications in Docker.
- numpy.sin — NumPy v1.10 Manual