web-dev-qa-db-ja.com

Dockerコンテナーで実行されているJupyterノートブックにアクセスする

pythonライブラリとJupyterを使用してdockerイメージを作成しました。オプション-p 8888:8888でコンテナを起動して、ホストとコンテナ間のポートをリンクします。コンテナー内でJupyterカーネルを起動すると、localhost:8888で実行されています(ブラウザーが見つかりません)。コマンドjupyter notebookを使用しました

しかし、ホストから、ホストのブラウザーでJupyterを操作するために使用する必要があるIPアドレスは何ですか?

コマンドifconfigを使用すると、eth0dockerwlan0loが見つかります...

ありがとう!

48
J.Guillaumin

0.0.0.0jupyter notebook -i 0.0.0.0でノートブックを実行する必要があります。 localhostで実行すると、コンテナ内からのみ使用可能になります。

52
Mateusz Moneta

ホストマシン:docker run -it -p 8888:8888 image:version

コンテナ内:jupyter notebook --ip 0.0.0.0 --no-browser --allow-root

ホストマシンはこのURLにアクセスします:localhost:8888/tree‌​

初めてログインするとき、トークンでログオンするためのリンクが端末に表示されます。

20

Jupyterノートブックサーバーへのリンクを取得するには:

docker runコマンドの後、ハイパーリンクが自動的に生成されます。次のようなものです:http://localhost:8888/?token=f3a8354eb82c92f5a12399fe1835bf8f31275f917928c8d2 :: /home/jovyan/work

後で再びリンクを取得したい場合は、docker exec -it <docker_container_name> jupyter notebook listと入力できます。

7
Josephine M. Ho

docker runコマンドは、コンテナのポートを開いてホストブラウザーからの接続を許可し、-pでポートをdockerコンテナーに割り当て、docker imagesからjupyterイメージを選択するために必須です。

docker run -it -p 8888:8888 image:version

コンテナ内で、開いたポートを割り当てるノートブックを起動します。

jupyter notebook --ip 0.0.0.0 --port 8888 --no-browser --allow-root

http:// localhost:8888 のデスクトップブラウザからノートブックにアクセスします。ノートブックは、ノートブックを作成するときに生成されたトークンの入力を求めます。

6
drillep

以下は、ドッカーツールボックスを使用してWindows 7で実行する方法です。

Dockerツールボックスを使用している場合は、Dockerクイックスタートターミナルを開き、次のIPをメモします。

docker is configured to use the default machine with IP 192.168.99.100
For help getting started, check out the docs at https://docs.docker.com

tensorflowインストールWebサイト からdockerコマンドを実行したら:

docker pull tensorflow/tensorflow                  # Download latest image
docker run -it -p 8888:8888 tensorflow/tensorflow  # Start a Jupyter notebook server

次のようなメッセージが表示されます。

Copy/paste this URL into your browser when you connect for the first time,
to login with a token:
    http://127.0.0.1:8888/?token=d6e80acaf08e09853dc72f6b0f022b8225f94f

ホストで、127.0.0.1192.168.99.100に置き換えて使用しますそのURLの残りの部分

3
ivan7707

コマンドjupyter notebook --allow-root --ip[of your container]を使用するか、オプション--ip0.0.0.0を使用してすべてのIPへのアクセスを許可できます。

2
Hemant jajoo

Manifold オープンソースの最近のトーラスプロジェクトをチェックしてください。私たちは、MLエンジニアがチーム全体で一貫した開発環境を備えた新しいプロジェクトを簡単に実行できる方法を探していました。このPython cookiecutterは、Docker Hubに配置したプリベイクされたML開発イメージを使用するDockerfileと、すべてのポート転送を処理するDocker Compose構成を含む新しいプロジェクト構造を作成します。あなたのために。構成は、ホストマシンで開いているポートを選択して、コンテナ内の8888で実行されているノートブックサーバーに転送するように記述されています。マシン上で複数のノートブックサーバーを実行する手間はもうありません!うまくいけば、これが役立つことを確認してください!

Githubリポジトリ: https://github.com/manifoldai/docker-cookiecutter-data-science

なぜ構築したのか(デモ付き): https://medium.com/manifold-ai/torus-a-toolkit-for-docker-first-data-science-bddcb4c97b52

1
abng88

コンテナで次を実行して、ローカルマシンで使用できるようにします(DockerマシンのIPアドレスを使用)。

jupyterノートブック--ip 0.0.0.0 --allow-root

コンテナの設定によっては、-allow-rootフラグを指定する必要がない場合があります。

0
SeekingAlpha