Docker を使用した Visual Studio 開発のトラブルシューティング
適用対象: Visual Studio
Visual Studio コンテナー ツールを使用する際、アプリケーションのビルドまたはデバッグしている間に問題が発生する可能性があります。 この記事では、問題の一般的なトラブルシューティング手順をいくつか紹介します。
ボリューム共有が有効にならない。 Docker CE for Windows の設定でのボリューム共有を有効にする (Linux コンテナーのみ)
ファイル共有は、Docker で Hyper-V を使用している場合にのみ管理する必要があります。 WSL 2 を使用している場合、次の手順は必要ありません。ファイル共有オプションは表示されません。 この問題を解決するには、次の手順を実行します。
通知領域で [Windows 用の Docker] を右クリックし、[設定] を選択します。
[リソース]>[ファイル共有] を選択し、アクセスする必要があるフォルダーを共有します。 システム ドライブ全体を共有することは可能ですが、お勧めできません。
ヒント
Visual Studio では、共有ドライブが構成されていない場合にプロンプトが表示されます。
デバッグを開始できない
この問題の理由の 1 つは、ユーザー プロファイル フォルダーに古いデバッグ コンポーネントが含まれる可能性があります。 次のコマンドを実行してこれらのフォルダーを削除し、次回のデバッグ セッションで最新のデバッグ コンポーネントがダウンロードされるようにしてください。
del %userprofile%\vsdbg
del %userprofile%\onecoremsvsmon
アプリケーションのデバッグ時のネットワークに固有のエラー
コンテナー ホスト ネットワークのクリーンアップに関するページでダウンロードできるスクリプトを実行してみてください。このスクリプトにより、ホスト コンピューター上のネットワーク関連のコンポーネントが更新されます。
マウントが拒否される
docker for macOS を使用すると、フォルダー /usr/local/share/dotnet/sdk/NuGetFallbackFolder を参照する際にエラーが発生することがあります。 Docker の File Sharing タブにフォルダーを追加します。
Docker users グループ
コンテナーを使用するときに、Visual Studio で次のエラーが発生する場合があります。
Docker Desktop を使用するには、現在のユーザーが 'docker-users' グループに含まれている必要があります。 自分を "docker-users" グループに追加し、Windows からログアウトします。
Docker コンテナーを使用する許可を得るには、'docker-users' グループのメンバーである必要があります。 Windows 10 以降で自分自身をグループに追加するには、次の手順を行います。
- スタート メニューから、[コンピューターの管理] を開きます。
- [ユーザーとグループを展開し、グループを選択します。
- docker-users グループを見つけて右クリックし、グループに追加を選択します。
- お使いのユーザー アカウントまたはアカウントを追加します。
- いったんサインアウトしてからもう一度サインインして、変更した内容を有効にします。
また、管理者の net localgroup
コマンド プロンプトでコマンドを使用して、ユーザーを特定のグループに追加することもできます。
net localgroup docker-users DOMAIN\username /add
PowerShell では、Add-LocalGroupMember 関数を使用します。
ディスク領域不足
既定では、Docker は %ProgramData%/Docker/ フォルダーにイメージを格納します。通常はシステム ドライブの C:\ProgramData\Docker\にあります。 システム ドライブの大切な領域をイメージで占有してしまわないよう、イメージ フォルダーの場所を変更できます。 そのためには次のようにします。
タスク バーの Docker アイコンを右クリックし、 Settings を選択します。
[Docker エンジン] を選択します。
編集ウィンドウで
graph
プロパティ設定を追加し、Docker イメージに任意の場所を指定します。"graph": "D:\\mypath\\images"
アプリケーションと再起動を選択します。 以上の手順で %ProgramData%\docker\config\daemon.json にある設定ファイルが変更されます。 以前にビルドされたイメージは移動されません。
コンテナーの種類の不一致
プロジェクトに Docker サポートを追加する場合は、Windows または Linux のいずれかのコンテナーを選択します。 プロジェクト ターゲットと同じコンテナーの種類を実行するように Docker Server ホストが構成されていない場合は、次のようなエラーが表示されます。
この問題を解決するには、システム トレイで Docker for Windows アイコンを右クリックし、 Switch to Windows コンテナー... または Switch to Linux containers... を選択します。
その他の問題
その他の問題が発生した場合は、Microsoft/DockerTools の issue を参照してください。