BUNSEN

個人的な学習ログ

batfish/allinoneコンテナにおけるnotebookデータの永続化

概要

batfish/allinoneのコンテナを使用してbatfishをお勉強中。しかし、コンテナを落とし上げするたびにせっかく作ったデータがなくなってしまう。

かといって毎回作成したnotebookをダウンロードして上げなおしてというのはめんどくさいのでホスト側にマウントすることにした。

環境

  • Windows10 10.0.16299
  • Docker for Windows version 18.09.2, build 6247962
  • batfish/allinone c5c630d4bdd3

方法

  1. ホスト側にマウント先のディレクトリを作成する
    1. mkdirでもエクスプローラーからでもなんでもいいのでデータの保存先ディレクトリを作成する
  2. 現存するnotebookをコンテナ内部から救出する
    1. 必要なnotebookにWEBブラウザでアクセスする
    2. JupyterのFile>Download as>Notebook(.ipynb)を選択し、作成したマウント先のディレクトリに保存する
    3. 救出するnotebookはないがデフォルトで入っているサンプルは残したい場合
      • pybatfishからpullすると中に同じものが入ってるから丸ごとマウント先のディレクトリにコピーする
  3. コンテナを停止する
    1. docker stop <docker id or name>でコンテナを停止する
  4. コンテナを起動する
    1. docker run -v <マウント先ディレクトリの絶対パス>:/notebooks -p 8888:8888 batfish/allinoneでコンテナを起動する

まとめ

docker exec -it <docker id or name> /bin/bashでコンテナ内部をウロチョロできて楽しかったです!