DockerとWindowsのフォルダ共有方法 with tensorflow

More than 3 years have passed since last update.

環境:Windows8.1


【経緯】 :sunny:

http://yaju3d.hatenablog.jp/entry/2016/04/07/011033

上記のサイトを参考にjupyterでtensorflowをいじろうと思いましたが、フォルダ丸ごとのアップロードはできなかったため、

WindowsとDockerを共有すれば簡単にアップロードできるのではないかと思いました。 :laughing:

しかし、なかなかうまくいかず1時間ほど共有に時間がかかってしまったため、

分かりやすい説明をして情報展開できればいいなと考えました。 :eyes:


【準備】 :cyclone:

下記のサイトからWindows版のDockerをダウンロードしてインストールします。 :runner:

  https://www.docker.com/products/docker-toolbox


【フォルダ共有手順】 :rocket:

①「Docker Quickstart Terminal」を立ち上げます。

② 「docker run -p 8888:8888 -p 6006:6006 --name nobu_tensor -v //c/Users/nobu/tensorflow_share:/notebooks -it b.gcr.io/tensorflow/tensorflow」

 をdockerのターミナルで実行します。

・--nameオプションの値は好きなコンテナ名を入力してください

  (ここではコンテナ名を「nobu_tensor」にしています)

・-vオプションの値は [ローカルの共有したいフォルダパス:Dockerの共有したいフォルダパス]    を入力します。

  ここではローカルの共有フォルダに「C:\Users\nobu\tensorflow_share」を指定しています。

  notebooksは変更しないようにしてください

 

 -vオプションの値は各自の環境に合わせて設定してください。

③dockerターミナルで「Ctrl+c」を押してください。「Shutdown this notebook server (y/[n])?」と聞かれるので、「y」を入力してエンターを押します。そうすることでサーバが一旦止まります。

④dockerターミナルで「docker start nobu_tensor」と入力します(nobu_tensorの部分は手順②で入力したnameオプションの値です)。

 下記のサイトへブラウザからアクセスしてみてください。jupyterが起動します。

   http://192.168.99.100:8888/

④dockerターミナルで「docker exec -it nobu_tensor bash」と入力するとコンテナへ入れます

  (nobu_tensorの部分は手順②で入力したnameオプションの値です)。

⑤コンテナへ入ると既にnotebooksフォルダ配下にいますので、例えば「touch aaa.txt」と入力すると「aaa.txt」ファイルが作成されます。

 lsコマンドでファイルが作成されたか確認してみてください。

⑥さて、ローカルに指定した共有フォルダ(C:\Users\nobu\tensorflow_share)を開いてみると、あら驚き・・・。

 コンテナで作成した「aaa.txt」が入っています!! :grin:

 さらに、 http://192.168.99.100:8888/  へアクセスしてみると、またまた驚き・・・。

 「aaa.txt」が現れています!!! :heart_eyes:

これで、dockerとwindowsのフォルダが共有され、さらにjupyterへもファイルが共有されています。


【参考サイト】

・Dockerであそぶ(3)Apacheを使う

  http://tech.pjin.jp/blog/2015/12/03/docker%E3%81%A7%E3%81%82%E3%81%9D%E3%81%B6%EF%BC%88%EF%BC%93%EF%BC%89apache%E3%82%92%E4%BD%BF%E3%81%86/

・docker コマンド チートシート

   http://qiita.com/voluntas/items/68c1fd04dd3d507d4083

・コンテナに入りたい?それ docker exec でできるよ

   http://qiita.com/yosisa/items/a5670e4da3ff22e9411a