Docker 1.12.1を使用して、私はssh -R
で作成されたホストポートにアクセスしようとして奇妙な動作に直面します。コンテナからホストポートにアクセスする(ssh -Rとバインドする)方法は?
基本的には、サーバー上で動作しているドッカーコンテナからローカルマシンのポート12345上で実行されているサービスにアクセスしようとしています。
ssh -R *:12345:localhost:12345 [email protected]
とssh接続を開いて、12345
をserver
に開き、ローカルマシンのポート12345
に転送しました。私は(172.17.42.1
がドッキングウィンドウコンテナからのドッキングウィンドウのホストにアクセスするためにIPである)容器の内部curl https://172.17.42.1:12345
をしようとすると、
は今、私が取得:
[email protected]:/# curl https://172.17.42.1:12345
curl: (7) Failed to connect to 172.17.42.1 port 12345: Connection refused
しかしserver
コマンドcurl http://localhost:12345
には、例えば(を成功していません。 接続は、私は本当にポートがウィットを行ってバインディング方法を理解していない)
server$ curl http://localhost:12345
curl: (52) Empty reply from server
を拒否しました時間sshは(それが動作する)サーバ上nc
とテストと異なります
# on server
nc -l -p 12345
# inside a container
[email protected]:/# curl http://172.17.42.1:12345
curl: (52) Empty reply from server
はNB:コンテナがdocker run -it --rm maven:3-jdk-8 bash
で開始されました。
コンテナがsshバインディングに対応するホストポートにアクセスできるようにするにはどうすればよいですか?
に
yes
またはclientspecified
にGatewayPorts
オプションを設定する必要がある唯一のlocalhostにバインドされている - あなたは '-Rを使用する必要があります'*:11443:server1:443''他のインターフェースでバインドするには – Peteshあなたの提案に感謝しますが、それは機能していないようです。私はまだカールを見ます:(7)172.17.42.1ポートへの接続に失敗しました11443:Connection refused –
あなたの質問にあるもののレイアウトについてちょっと混乱しています。あなたが[コンテナの中からホストポートにアクセスする](http://stackoverflow.com/questions/31324981/how-to-access-host-port-from-docker-container)をしようとしているようなものですこの場合、答えが役に立ちますが、私は100%確実ではありません。 – Petesh