VisualStudio 2017で新しいDotNetCore 2.0 Webプロジェクトを作成しました。DockerServer HostをWindows用に構成したマシンでdockerを実行しています。
ソリューションを実行中にエラーが発生しています、
'DOCKER_REGISTRY変数が設定されていません。デフォルトは空の文字列です。
Myfirstdotnetcoreサービス 'myfirstdotnetcore'のビルドに失敗しました:
取得 https://registry-1.docker.io/v2/ :net/http:接続の待機中に要求がキャンセルされました(ヘッダーの待機中にClient.Timeoutを超えました)。
この問題が発生し、以下の手順を実行して解決しました。
Visual Studioを管理者として実行する
実行中のDockerホストは、DockerHubアカウントにログインする必要があります。
これは非常に重要ですこの問題の主な理由は、Visual Studioがdockerハブからnanoサーバーイメージをダウンロードできなかったことです。そのため、実行中のホストからdockerhubアカウントにログインしていることを常に確認してください
Dockerレジストリの環境変数を設定する必要がありました。何らかの理由でパスを小文字にする必要があります。
[Environment]::SetEnvironmentVariable("DOCKER_REGISTRY", "d:\docker\registry\", "Machine")
私はこれらの関連する問題をgithubで見つけました:
TLDR;このエラーは誤解を招くものであり、Visual Studioが現在飲み込んでいるいくつかの内部ドッカーエラーをマスクできます(これらはビルド出力に表示されるはずです)-これはVisual Studio 2017 15.8しかし、15.8.2の時点では、これはまだ問題であり、バグは未解決のままです。
それまで、一般的なコンセンサスは、次のステップの組み合わせが根本的な問題のほとんどを回避するはずであると思われます。 NB!これらは、マシンの再起動後に繰り返す必要があります。
docker login
上記の順序が重要かどうかはわかりません。
詳細なエラーメッセージはありますか?同様の問題がありましたが、私のマシンでは仮想化が有効になっていないことが判明しました。
power Shellで「systeminfo」を実行し、hyper-vが有効になっていることを確認します
上記のすべてを試しましたが、何も機能しませんでした。私にとっての問題は、DOCKER_REGISTRYという名前の環境変数がなかったことです。エラーで明確に示されているため、DOCKER_REGISTRYという名前のシステム環境変数を作成し、パスC:
それに。 これ 答えが助けてくれました。変数を作成したら、忘れずにシステムを再起動してください。
@David Silwalが言ったように私はほとんどやった。
Visual Studioを管理者として実行しました。
既にドッカーハブアカウントにログインしていましたが、そのようであっても機能しませんでした。
そのため、ログアウトして再度ログインしました。その後、それはうまくいきました!
プロジェクトソリューションエクスプローラーをクリーニングして、ソリューションを再構築するだけです。