web-dev-qa-db-ja.com

Dockerが「SSHが利用可能になるのを待機しています...」

WindowsとHyper-vでDockerを使用してコンテナーを作成しています。 docker machine vmachineをdocker構成に追加しました。マシンが最初に作成されたときに、IPを取得し(nginxを管理してそれにアクセスすることはできません-ERR_CONNECTION_REFUSED)、起動を完了します。

マシンの電源を切ってから起動しようとすると、このメッセージが表示される

SSHが利用可能になるのを待機しています...

そしてそれはそこから進化しません。マシンは起動していますが、docker-machine ip vmachineなどのコマンドを入力するとIPv6が表示されます-fe80::215:5dff:fe21:10b insted of an IPv4

何が悪いのですか?

15
João Dias

ここでの問題は、デフォルトでdockerがDockerNATネットワークスイッチを使用することです。代わりに、新しい外部ネットワークスイッチを作成する必要があります。この問題は ここ および ここ でカバーされています。以下のコマンドを使用して外部ネットワークスイッチを作成できます

docker-machine create -d hyperv --hyperv-virtual-switch external-switch tempbox1

または、UIから作成できます

external network switch

外部スイッチを作成した後、デバイスを必ずrebootしてください。

8
Penkey Suresh

私は同様の問題があり、解決策のどれもうまくいきませんでした。 この答え によれば、DockerはUnix固有の要素でSSHを起動します。これはその後のリリースで修正されたと言われていますが、「SSHの待機」の問題がまだ発生しました。私は、GIT bashを使用してすべてのdocker関連のSSHコマンドを実行することで、これを解決しました。

2
Dave Howson

docker-machine.exe -debug create --driver hyperv --hyperv-virtual-switch "外部仮想スイッチ" --hyperv-cpu-count "1" --hyperv-memory "1024" --hyperv-disk-size " 20000 "mydockervm

追加のVirtualSwitchを設定し、外部ネットワークドライバーを選択して、virtualboxをアンインストールするようにしてください

デバッグスイッチを使用して正確なエラーを確認します。私にとっては、メモリを割り当てることができませんでした。

1
Subrata Fouzdar

上記の提案に記載されていることを実行した後、Windowsマシンでdockerを実行している場合は、cliを使用してログインしてみてください。これでうまくいきました。

0
raj240

コマンドプロンプトを使用している場合、DockerはSSHが利用可能になるのを待機しています...、@ Dave Howsonが動作するとGIT BASHを使用するように変更します。

0
KitBunrong

これが私のためにそれを解決したものです。

Windows 10のバージョン1709を開始すると、C:\ Windows\System32\OpenSSHにSSHクライアントが組み込まれていることがわかります。 ここ はそれを論じている記事です。

DockerがSSH実装を使用しているようで、互換性がありません。 Windows 10の組み込みのSSH実装を削除する適切な方法を探していませんでした。単にフォルダーの名前を変更しました。それは私のためにそれを修正するのに十分でした。

0
Alon Catz