2016-07-20 7 views
0

ここでは、SSH経由でアクセスできるubuntuコンテナを取得しようとしています。SSHはドッキングステーションのコンテナから出ることができます:ネットワークに到達できません

私はその上にホストとVMに出てsshをうまくだけでなく、同じイメージを実行している他のコンテナができthis dockerfileを使用して画像を使用して

docker build -t sshable ~/PATH/" and "docker run --name test -t sshable 

でそれを実行している&を構築しています。しかし、ホストからssh IP_ADDRにしようとすると、IP_ADDRは(ifconfigを使用している)コンテナのeth0の "inet addr"として与えられたIPアドレスです。ssh: connect to host IP_ADDR port 22: Network is unreachableということはできません。私はコンテナからもpingすることができますが、タイムアウトになるとコンテナからは取り出されません。ホストはブリッジネットワークに接続されていませんか?そうであれば、どうすれば入手できますか?

+0

あなたの投稿のタイトルには「ssh」と「ドッカー」が含まれています。私はちょうどDockerのエンジニアが書いたこの記事を指摘したいと思います:_ [あなたがDockerのコンテナでSSHDを実行すると、間違っています!](https://jpetazzo.github.io/2014/06/23/docker-ssh-considered-evil /)_ – Auzias

答えて

0

この

$ docker run --name test -p 22:22 sshable 

あるいはまた、あなたがマッピングされたドッキングウィンドウポートに

$ docker run --name test sshable 
$ docker port sshable 22 
0.0.0.0:49154 

を確認することができます。そして、あなたが(この場合は)、ポート49154上のコンテナのIPアドレスにrootとしてsshをすることができます

をお試しください
$ ssh [email protected] -p 49154 
+0

私はこれを行いましたが、ネットワークに到達できないという同じエラーが表示されます。ホストのポート22を使用することはできません。「すでに使用中です」と主張しているため、49154 2222などの他のポットで試してみましたが、無駄にsshを使用しようとしました。私はまた、すべてのポートを公開し、単純に同じ理由で失敗するコンテナにpingを試みました。私はxockveのネイティブ仮想化を使用してMacのEl Capitan上で直接ドッカーを実行していると付け加えます.DockerのデフォルトVMは仮想ボックスではありません。バージョン1.12.0-rc4-beta20(ビルド:10404)を実行しています。 – 18AdrianoH

0

コンテナを実行しているとき

このコンテナはポート22を公開しますが、ホストマシンのどのポートにも接続しません。これは、

docker run -it ubuntu:14.04 

のような別のコンテナを起動すると、このubuntuコンテナからあなたにsshできるようになることを意味します。しかし、VMの内部からDockerを実行している場合、VMの外からコンテナにsshすることはできません。そのために、あなたは今、あなたはssh <vm-ip>を使用して、このコンテナの中にsshをすることができるでしょう

docker run --name test -p 22:22 sshable 

そのVM

であなたのsshのコンテナは、いくつかのポートに接続する必要があります。

+0

私はこれを行いましたが、ネットワークに到達できないという同じエラーが表示されます。ホストのポート22を使用することはできません。「すでに使用中です」と主張しているため、49154 2222などの他のポットで試してみましたが、無駄にsshを使用しようとしました。私はまた、すべてのポートを公開し、単純に同じ理由で失敗するコンテナにpingを試みました。私はxockveのネイティブ仮想化を使用してMacのEl Capitan上で直接ドッカーを実行していると付け加えます.DockerのデフォルトVMは仮想ボックスではありません。バージョン1.12.0-rc4-beta20(ビルド:10404)を実行しています。 – 18AdrianoH

+0

ホストのどのポートにコンテナが接続されているのかを確認するために 'docker ps'を実行しようとしましたが、そのポートにsshを試みましたか? – jff

+0

はい、あります。 "PORTS"の下の0.0.0.0:49154-> 22/tcp。私はssh root @ 172.17をやった。0.2 -p 49154(それは172です...はipです)。まったく同じ "ネットワークに到達できません"というエラーに失敗します。 – 18AdrianoH

関連する問題