Docker を使用した Visual Studio 開発のトラブルシューティングTroubleshoot Visual Studio development with Docker

Visual Studio コンテナー ツールを使用する際、アプリケーションのビルドまたはデバッグしている間に問題が発生する可能性があります。When you're working with Visual Studio Container Tools, you may encounter issues while building or debugging your application. 一般的なトラブルシューティング手順のいくつかを以下に示します。Below are some common troubleshooting steps.

ボリューム共有が有効にならない。Volume sharing is not enabled. Docker CE for Windows の設定でのボリューム共有の有効化 (Linux コンテナーのみ)Enable volume sharing in the Docker CE for Windows settings (Linux containers only)

ファイル共有を管理する必要があるのは、Docker で Hyper-V を使用している場合だけです。File sharing only needs to be managed if you are using Hyper-V with Docker. WSL 2 を使用している場合、次の手順は必要ありません。また、[ファイル共有] オプションは表示されません。If you are using WSL 2, the following steps are not necessary and the file sharing option will not be visible. この問題を解決するには、次の操作を行います。To resolve this issue:

  1. 通知領域で [Windows 用の Docker] を右クリックし、 [設定] を選択します。Right-click Docker for Windows in the notification area, and then select Settings.

  2. [リソース] > [ファイル共有] を選択し、アクセスする必要があるフォルダーを共有します。Select Resources > File Sharing and share the folder that needs to be accessed. システム ドライブ全体を共有することは可能ですが、お勧めできません。Sharing your entire system drive is possible but not recommended.

    共有ドライブ

ヒント

Visual Studio 2017 バージョン 15.6 以降の Visual Studio バージョンでは、共有ドライブ が構成されていない場合、プロンプトが表示されます。Visual Studio versions later than Visual Studio 2017 version 15.6 will prompt when Shared Drives aren't configured.

デバッグを開始できないUnable to start debugging

理由の 1 つとして、ユーザー プロファイル フォルダーに古いデバッグ コンポーネントが残っていることが考えられます。One reason could be related to having stale debugging components in your user profile folder. 次のコマンドを実行してこれらのフォルダーを削除し、次回のデバッグ セッションで最新のデバッグ コンポーネントがダウンロードされるようにしてください。Execute the following commands to remove these folders so that the latest debugging components are downloaded on the next debug session.

  • del %userprofile%\vsdbgdel %userprofile%\vsdbg
  • del %userprofile%\onecoremsvsmondel %userprofile%\onecoremsvsmon

アプリケーションのデバッグ時のネットワークに固有のエラーErrors specific to networking when debugging your application

コンテナー ホスト ネットワークのクリーンアップに関するページでダウンロードできるスクリプトを実行してみてください。このスクリプトにより、ホスト コンピューター上のネットワーク関連のコンポーネントが更新されます。Try executing the script downloadable from Cleanup Container Host Networking, which will refresh the network-related components on your host machine.

マウントが拒否されるMounts denied

MacOS 用の Docker を使用している場合、フォルダー /usr/local/share/dotnet/sdk/NuGetFallbackFolder を参照するとエラーが発生する可能性があります。When using Docker for macOS, you might encounter an error referencing the folder /usr/local/share/dotnet/sdk/NuGetFallbackFolder. Docker で [File Sharing](ファイル共有) タブにフォルダーを追加します。Add the folder to the File Sharing tab in Docker.

Docker users グループDocker users group

コンテナーを使用するときに、Visual Studio で次のエラーが発生する場合があります。You might encounter the following error in Visual Studio when working with containers:

The current user must be in the 'docker-users' group to use Docker Desktop. 
Add yourself to the 'docker-users' group and then log out of Windows.

Docker コンテナーを使用する許可を得るには、'docker-users' グループのメンバーである必要があります。You must be a member of the 'docker-users' group in order to have permissions to work with Docker containers. Windows 10 で自分自身をグループに追加するには、次の手順を行います。To add yourself to the group in Windows 10, follow these steps:

  1. スタート メニューから、 [コンピューターの管理] を開きます。From the Start menu, open Computer Management.
  2. [ローカル ユーザーとグループ] を展開し、 [グループ] を選択します。Expand Local Users and Groups, and choose Groups.
  3. docker-users グループを検索し、 [グループに追加] を右クリックして選択します。Find the docker-users group, right-click and choose Add to group.
  4. お使いのユーザー アカウントまたはアカウントを追加します。Add your user account or accounts.
  5. いったんサインアウトしてからもう一度サインインして、変更した内容を有効にします。Sign out and sign back in again for these changes to take effect.

また、管理者の net localgroup コマンド プロンプトでコマンドを使用して、ユーザーを特定のグループに追加することもできます。You can also use the net localgroup command at the Administrator command prompt to add users to specific groups.

net localgroup docker-users DOMAIN\username /add

PowerShell では、Add-LocalGroupMember 関数を使用します。In PowerShell, use the Add-LocalGroupMember function.

ディスク領域不足Low disk space

Docker では既定で、 %ProgramData%/Docker/ フォルダーにイメージが格納されます。このフォルダーは通常、システム ドライブ上にあり、*C:\ProgramData\Docker* となります。By default, Docker stores images in the %ProgramData%/Docker/ folder, which is typically on the system drive, *C:\ProgramData\Docker*. システム ドライブの大切な領域をイメージで占有してしまわないよう、イメージ フォルダーの場所を変更できます。To prevent images from taking up valuable space on the system drive, you can change the image folder location. そのためには次を行います。To do so:

  1. タスク バーの Docker アイコンを右クリックし、 [設定] を選択します。Right click on the Docker icon on the task bar and select Settings.
  2. [Docker エンジン] を選択します。Select Docker Engine.
  3. 編集ウィンドウで graph プロパティ設定を追加し、Docker イメージに任意の場所を指定します。In the editing pane, add the graph property setting with the value of your desired location for Docker images:
    "graph": "D:\\mypath\\images"

Docker ファイル共有のスクリーンショット

[適用および再起動] をクリックします。Click Apply & Restart. 以上の手順で %ProgramData%\docker\config\daemon.json にある設定ファイルが変更されます。These steps modify the configuration file at %ProgramData%\docker\config\daemon.json. 以前に作成したイメージが移動されることはありません。Previously built images are not moved.

コンテナーの種類の不一致Container type mismatch

プロジェクトに Docker サポートを追加する場合は、Windows または Linux のいずれかのコンテナーを選択します。When adding Docker support to a project, you choose either a Windows or a Linux container. Docker サーバー ホストがプロジェクト ターゲットと同じコンテナーの種類を実行するように構成されていない場合は、次のようなエラーが表示される可能性があります。If the Docker Server host is not configured to run the same container type as the project target, you will likely see an error similar to the one below:

Docker ホストとプロジェクトの不一致のスクリーンショット

この問題を解決するには、次の手順を実行します。To resolve this issue:

  • システム トレイの Docker for Windows アイコンを右クリックし、 [Switch to Windows containers...](Windows コンテナーに切り替える...) または [Switch to Linux containers...](Linux コンテナーに切り替える...) を選択します。Right-click the Docker for Windows icon in the System Tray and choose Switch to Windows containers... or Switch to Linux containers....

Microsoft/DockerTools GitHub リポジトリMicrosoft/DockerTools GitHub repo

その他の問題が発生した場合は、Microsoft/DockerTools の問題に関するページをご覧ください。For any other issues you encounter, see Microsoft/DockerTools issues.

関連項目See also