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
何が悪いのですか?
私は同様の問題があり、解決策のどれもうまくいきませんでした。 この答え によれば、DockerはUnix固有の要素でSSHを起動します。これはその後のリリースで修正されたと言われていますが、「SSHの待機」の問題がまだ発生しました。私は、GIT bashを使用してすべてのdocker関連のSSHコマンドを実行することで、これを解決しました。
docker-machine.exe -debug create --driver hyperv --hyperv-virtual-switch "外部仮想スイッチ" --hyperv-cpu-count "1" --hyperv-memory "1024" --hyperv-disk-size " 20000 "mydockervm
追加のVirtualSwitchを設定し、外部ネットワークドライバーを選択して、virtualboxをアンインストールするようにしてください
デバッグスイッチを使用して正確なエラーを確認します。私にとっては、メモリを割り当てることができませんでした。
上記の提案に記載されていることを実行した後、Windowsマシンでdockerを実行している場合は、cliを使用してログインしてみてください。これでうまくいきました。
コマンドプロンプトを使用している場合、DockerはSSHが利用可能になるのを待機しています...、@ Dave Howsonが動作するとGIT BASHを使用するように変更します。
これが私のためにそれを解決したものです。
Windows 10のバージョン1709を開始すると、C:\ Windows\System32\OpenSSHにSSHクライアントが組み込まれていることがわかります。 ここ はそれを論じている記事です。
DockerがSSH実装を使用しているようで、互換性がありません。 Windows 10の組み込みのSSH実装を削除する適切な方法を探していませんでした。単にフォルダーの名前を変更しました。それは私のためにそれを修正するのに十分でした。