私のコンピュータからリモートサーバへのsshトンネルをJupyter Notebook(コンピュータ>サーバ> Dockerコンテナ)を実行しているドッカーコンテナに作成したいJupyter Notebookを私のブラウザの私のコンピュータに入れてください。Jupyterノートブックを実行しているリモートドッカーコンテナへのsshトンネルの作成
Dockerコンテナは、OS X(El Capitan)を実行しているマシンでホストされています。 DockerはデフォルトのマシンIP:192.168.99.100を使用しています。
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default * virtualbox Running tcp://192.168.99.100:2376 v1.11.1
私は物理的にドッカーコンテナを実行しているサーバーで座って、そのドッカーコンテナからJupyterノートブックを作成するために、私のブラウザ(192.168.99.100:8888)を使用することができています。これは私のDockerポートバインディングが機能していること、そして私がJupyter Notebookを正しく実行していることを確認します。
しかし、クライアントマシンからそのリモートマシンのDockerコンテナへのsshトンネルの確立方法と、クライアントマシンのブラウザでJupiterノートブックを起動する方法がわかりません。
から出力:
$ docker ps
は、以下を生成する:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
48a8ac126c72 kubu4/bioinformatics:v11 "/bin/bash" 55 minutes ago Up 55 minutes 8787/tcp, 0.0.0.0:8888->8888/tcp stupefied_pasteur
私はしようとすると、ターミナルに次のエラーメッセージ内のリモートマシンのドッカー容器結果にSSHトンネルを作成するにマイ試みクライアントマシン(ブラウザ:localhost:8888)のJupyterノートブックを起動する:
channel 3: open failed: connect failed: Connection refused
私は現在、トンネルを作成するために私の.ssh/configファイルに次のように使用しています:私はJupyterノートブックを実行する場合
Host tunnel3
HostName remote.ip.address
User user
ControlMaster auto
ServerAliveInterval 30
ServerAliveCountMax 3
LocalForward localhost:8888 localhost:8888
私は正常に私のクライアントのブラウザでJupyterノートブックを起動するには、このトンネリング設定を使用することができますリモートマシン上のDockerコンテナの外にあるリモートマシン。私は、リモートマシンのドッカーコンテナにJupyterノートブックを起動したときに
追加したばかりの情報のため、これが出力されます。
$ jupyter notebook
[I 18:23:32.951 NotebookApp] Writing notebook server cookie secret to /root/.local/share/jupyter/runtime/notebook_cookie_secret
[I 18:23:33.072 NotebookApp] Serving notebooks from local directory: /usr/local/bioinformatics
[I 18:23:33.073 NotebookApp] 0 active kernels
[I 18:23:33.073 NotebookApp] The Jupyter Notebook is running at: http://0.0.0.0:8888/
[I 18:23:33.074 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).