#はじめに
研究室のGPUサーバ(DGX-1)上でjupyter notebookを使って解析を行っているのですが、手順を忘れそうなので備忘録として書きました。dockerやSSHなどについては詳しくないで実行するコマンドのみを記しています。
#1. jupyter notebookが入ったDockerイメージを作成
私の作成したdocker fileです。
https://github.com/henyo245/docker_note_gpu/blob/master/dockerfile
#2. gunzipに圧縮
$ docker save image_name | gzip > [イメージ名].tar.gz
#3. SCPでguznipをサーバに転送
$ scp ~/Desktop/[イメージ名].tar.gz henyo245@[サーバのアドレス]:/home/henyo245/
#4. gunzipを解凍
$ docker load < [イメージ名].tar.gz
#5. Dockerコンテナを作成
-pオプションでポートを指定する。
-p <分析サーバーのport番号>:<コンテナのport番号>
なので
コンテナのport番号:8888
分析サーバーのport番号:9000
とすると次のようになる。
$ nvidia-docker run -it -p 9000:8888 [イメージ名] /bin/bash
これでコンテナに入れる。
#6. jupyter notebookを起動
# jupyter notebook --allow-root
tokenなしでjupyter notebook起動したい場合は、オプションで--NotebookApp.token=''
をつける。
#7. ポートフォワード
-L <localのport番号>:localhost:<分析サーバーのport番号>
なので、
localのport番号: 8888
とすると次のようになる。
$ ssh -L 8888:localhost:9000 henyo245@[サーバのアドレス]
#8. ブラウザでJupyter notebookを開く
URLにhttp://localhost:<分析サーバーのport番号>
を入力。今回の場合は、
http://localhost:9000
となる。