Docker起動したJupyter notebookで作成したデータをローカルに保存する方法
ローカルディレクトリをマウント
Dockerで起動したJupyter notebookは、Dockerコンテナ上で動いており、 そこで作成したコードやデータはローカルディレクトリには残りません。
データを保存するには、ローカルディレクトリをマウントする必要があります。
例えば、↓のようにdocker runすると、
$ docker run -it --rm -p 8888:8888 -v "$(pwd):/home/jovyan/work" jupyter/base-notebook
カレントディレクトリをマウントした状態で起動できます。
notebook内のデータはローカル上に残りますし、 予め用意したローカル上のデータをnotebook上で触れるようになります。
プログラムを書いてからデータが残らないことに気づいた場合
コンテナの内容を docker commit でイメージに書き戻し、 run しなおすことでローカルディレクトリをマウントできます。
$ docker stop コンテナ名 $ docker commit コンテナ名 イメージ名 $ docker run -it --rm -p 8888:8888 -v "$(pwd):/notebooks" イメージ名
すでに作ったコンテナでローカルディレクトリをマウントする方法はないらしいです。
参考: