これまでDockerサーバとして使っていたPCのHDDを交換して再インストールし、
この上で gcr.io/tensorflow/tensorflow:latest-gpu を
で起動して、
をブラウザでひらいたら..
あれ?パスワード入力画面がでてきた..
コマンド一発起動なので、パスワードなんて何も指定してないんだけど..
-itで実行していたのでコンソール側を見ていると..
ってメッセージが出ていた。
あれ?なんかGETパラメータのtokenがついてる..
で、このGETパラメータ付きのURLで入ってみると、パスワード画面が出てこなくなった..
でもこれだと -d オプションで起動したらtokenがわからなくなる..
とおもって、Dockerfile.gpuを見てたら
jupyter_notebook_config.pyをCOPYしているところを発見。
で、このコードを見てみると
環境変数PASSWORDにパスワード文字列を指定できるようになっていた。
と、いうことで
と、起動すればパスワードが「password」になるようになった。
..たのむからREADME.mdくらいには書いておいてほしかったなあ..
p.s.
タグ名に devel とついているイメージのDockerfileは CMD /bin/bash となっているので、基本 -it オプションを付けてコマンドラインを有効にして使うことを前提にしています。このため -d オプションで起動するとattach/exec以外なにもできなくなります。
タグ名に devel がついていないイメージのDockerfileは CMD /run_jupyter.sh となっており、Jupyterが起動します。このため -it を付けて実行すると、デフォルトトークン(パスワード代わりにつけるHTTP GETパラメータ付きURL)がコンソールに出ますが、シェル操作はできません。 -d オプションを代わりに付ければ、デーモン起動になります。
なお、コンテナ側ポート番号 8888 をホスト側ポート番号 9999 で使いたい場合は、 -p 9999:8888 とつけてください(1つのDockerサーバで複数上げる場合がある)。
ただ..Docker Hub上のイメージの仕様がまた変わることもあります...
(仕様がかわったら、コメント欄に教えていただけると、ありがたいです)
この上で gcr.io/tensorflow/tensorflow:latest-gpu を
nvidia-docker run -it -p 8888:8888 -p 6006:6006 gcr.io/tensorflow/tensorflow:latest-gpu
で起動して、
http://xxx.xxx.xxx.xxx:8888/
をブラウザでひらいたら..
あれ?パスワード入力画面がでてきた..
コマンド一発起動なので、パスワードなんて何も指定してないんだけど..
-itで実行していたのでコンソール側を見ていると..
The Jupyter Notebook is running at: http://[all ip addresses on your system]:8888/?token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ってメッセージが出ていた。
あれ?なんかGETパラメータのtokenがついてる..
で、このGETパラメータ付きのURLで入ってみると、パスワード画面が出てこなくなった..
でもこれだと -d オプションで起動したらtokenがわからなくなる..
とおもって、Dockerfile.gpuを見てたら
jupyter_notebook_config.pyをCOPYしているところを発見。
で、このコードを見てみると
環境変数PASSWORDにパスワード文字列を指定できるようになっていた。
と、いうことで
nvidia-docker run -e PASSWORD=password -d -p 8888:8888 -p 6006:6006 gcr.io/tensorflow/tensorflow:latest-gpu
と、起動すればパスワードが「password」になるようになった。
..たのむからREADME.mdくらいには書いておいてほしかったなあ..
p.s.
タグ名に devel とついているイメージのDockerfileは CMD /bin/bash となっているので、基本 -it オプションを付けてコマンドラインを有効にして使うことを前提にしています。このため -d オプションで起動するとattach/exec以外なにもできなくなります。
タグ名に devel がついていないイメージのDockerfileは CMD /run_jupyter.sh となっており、Jupyterが起動します。このため -it を付けて実行すると、デフォルトトークン(パスワード代わりにつけるHTTP GETパラメータ付きURL)がコンソールに出ますが、シェル操作はできません。 -d オプションを代わりに付ければ、デーモン起動になります。
なお、コンテナ側ポート番号 8888 をホスト側ポート番号 9999 で使いたい場合は、 -p 9999:8888 とつけてください(1つのDockerサーバで複数上げる場合がある)。
ただ..Docker Hub上のイメージの仕様がまた変わることもあります...
(仕様がかわったら、コメント欄に教えていただけると、ありがたいです)
0 件のコメント:
コメントを投稿