コンテナー ツールの設定を使用して、Visual Studio で Docker コンテナーを操作する方法の一部の側面を制御できます。 この記事では、Docker コンテナーを操作するときに Visual Studio のパフォーマンスとリソースの使用状況に影響を与える可能性がある コンテナー ツール の設定を構成する方法について説明します。
コンテナー ツールの設定
設定にアクセスするには、Visual Studio のメイン メニューから [ツール] > [オプション] を選択します。 左側のウィンドウで、下にスクロールして [コンテナー ツール] を展開します。
全般設定
次の表では、 全般 設定について説明します。
設定 | 既定値 | 説明 |
---|---|---|
必要に応じて Docker Desktop をインストールする | メッセージを表示する | Docker Desktop がインストールされていない場合にプロンプトを表示するかどうかを選択します。 |
必要に応じて Docker Desktop を起動する | いつも | Docker Desktop が起動していない場合は、自動的に起動するか、プロンプトを表示するかを選択します。 |
ASP.NET Core SSL 証明書を信頼する | メッセージを表示する |
localhost SSL 証明書が ASP.NET Core プロジェクトで信頼されていないかどうかを確認するかどうかを選択します。 |
次の表では、 全般 設定について説明します。
設定 | 既定値 | 説明 |
---|---|---|
必要に応じて Docker Desktop をインストールする | メッセージを表示する | Docker Desktop がインストールされていない場合にプロンプトを表示するかどうかを選択します。 |
必要に応じて Docker Desktop を起動する | メッセージを表示する | Docker Desktop が起動していない場合は、自動的に起動するか、プロンプトを表示するかを選択します。 |
ASP.NET Core SSL 証明書を信頼する | メッセージを表示する |
localhost SSL 証明書が ASP.NET Core プロジェクトで信頼されていないかどうかを確認するかどうかを選択します。 |
重要
[Trust ASP.NET Core SSL certificate]\(コア SSL 証明書の信頼\) を [Never] に設定し、localhost
SSL 証明書が信頼されていない場合、HTTPS Web 要求が実行時に失敗する可能性があります。 その場合は、[ 信頼 ASP.NET コア SSL 証明書 ] を [ プロンプトを表示 ] に設定し、プロジェクトを実行し、プロンプトで信頼することを選択します。
単一プロジェクトまたは Docker Compose の設定
Container Tools の単一プロジェクト と Docker Compose の設定は同じです。
次の表では、 単一プロジェクト と Docker Compose の設定について説明します。
設定 | 既定値 | 説明 |
---|---|---|
プロジェクトを開いて必要な Docker イメージをプルする | 正しい | コンテナー プロジェクトの読み込み時にバックグラウンド Docker プル操作を開始するかどうか。 コードを実行する準備ができたら、必要なイメージがダウンロード済みであるか、またはダウンロード中です。 コードを参照するだけの場合は、 False に設定して、不要なコンテナー イメージのダウンロードを回避できます。 |
プロジェクトを開いて更新された Docker イメージをプルする | .NET Core プロジェクト | 最新の更新を取得するために、開いているプロジェクトで、すべてのイメージに対して Docker プルを実行するかどうかの決定。 |
開いているプロジェクトでコンテナーを実行する | 正しい | コンテナープロジェクトを読み込む際に、コンテナーを作成するかどうかを決めます。ビルドと実行時にすぐ使えるようにするためです。 コンテナーを作成するタイミングを制御する場合は、False に設定 します。 |
プロジェクトの終了時にコンテナーを削除する | 正しい | ソリューションを閉じた後にソリューションのコンテナーを削除するか、Visual Studio を閉じるかを指定します。 |
設定 | 既定値 | 説明 |
---|---|---|
プロジェクトを開いて必要な Docker イメージをプルする | 正しい | コンテナー プロジェクトの読み込み時にバックグラウンド Docker プル操作を開始するかどうか。 コードを実行する準備ができたら、必要なイメージがダウンロード済みであるか、またはダウンロード中です。 コードを参照するだけの場合は、 False に設定して、不要なコンテナー イメージのダウンロードを回避できます。 |
プロジェクトを開いて更新された Docker イメージをプルする | .NET Core プロジェクト | 最新の更新を取得するために、開いているプロジェクトで、すべてのイメージに対して Docker プルを実行するかどうかの決定。 |
開いているプロジェクトでコンテナーを実行する | 正しい | コンテナープロジェクトを読み込む際に、コンテナーを作成するかどうかを決めます。ビルドと実行時にすぐ使えるようにするためです。 コンテナーを作成するタイミングを制御する場合は、False に設定 します。 |
プロジェクトの終了時にコンテナーを削除する | 正しい | ソリューションを閉じた後にソリューションのコンテナーを削除するか、Visual Studio を閉じるかを指定します。 |
コンテナーでサービスを実行して Azure 認証を有効にする | 正しい | Visual Studio バージョン 17.6 以降の場合、コンテナーにトークン プロキシ サービスをインストールして実行して Azure 認証を有効にするかどうか。 このサービスを使用すると、開発中にアプリで Azure サービスを使用できます。 詳細については、「 Azure 認証の構成」 セクションを参照してください。 |
コンテナーでサービスを実行してホット リロードを有効にする | 正しい | Visual Studio バージョン 17.7 以降の場合、ホット リロード サービスをインストールして実行するかどうか。 このサービスは、デバッグなしでの実行のみをサポートしています( Ctrl+F5)。 |
コンテナー ツール ウィンドウの設定
コンテナー ツール ウィンドウの設定は、Visual Studio IDE の [コンテナー] ウィンドウに適用され、Docker コンテナーとイメージに関する情報が表示されます。 詳細については、「 コンテナーの使用」ウィンドウを参照してください。
次の表では、 コンテナー ツール ウィンドウ の設定について説明します。
設定 | 既定値 | 説明 |
---|---|---|
コンテナーを排除する前に確認する | いつも | 未使用のコンテナーを排除するときにプロンプトを表示するかどうか。 |
イメージを剪定する前に確認する | いつも | 使用していないイメージを削除するときに、確認メッセージを表示するかどうか。 |
コンテナーを削除する前に確認する | いつも | コンテナーを削除するときにプロンプトを表示するかどうか。 |
イメージを削除する前に確認する | いつも | イメージを削除するときにプロンプトを表示するかどうかを指定します。 |
多数のイメージを実行する前に確認する | いつも | 一度に 10 を超えるイメージからコンテナーを開始する前にプロンプトを表示するかどうか。 |
コンテナー ウィンドウの設定
コンテナー ウィンドウの設定は、Visual Studio IDE の [コンテナー] ウィンドウに適用され、Docker コンテナーとイメージに関する情報が表示されます。 詳細については、「 コンテナーの使用」ウィンドウを参照してください。
次の表では、 コンテナー ウィンドウ の設定について説明します。
設定 | 既定値 | 説明 |
---|---|---|
コンテナーを排除する前に確認する | いつも | 未使用のコンテナーを排除するときにプロンプトを表示するかどうか。 |
イメージを剪定する前に確認する | いつも | 使用していないイメージを削除するときに、確認メッセージを表示するかどうか。 |
コンテナーを削除する前に確認する | いつも | コンテナーを削除するときにプロンプトを表示するかどうか。 |
イメージを削除する前に確認する | いつも | イメージを削除するときにプロンプトを表示するかどうかを指定します。 |
多数のイメージを実行する前に確認する | いつも | 一度に 10 を超えるイメージからコンテナーを開始する前にプロンプトを表示するかどうか。 |
[コンテナー] ウィンドウで使用する文字列形式を表示する | 空白 | {ContainerName}、{ImageName}、{ProjectName}、および {ContainerID} トークンをサポートする、コンテナー ウィンドウで使用する表示文字列形式。 |
Docker Compose プロジェクトによるコンテナーのグループ化 | いつも | コンテナーが含まれている Docker Compose プロジェクトによってコンテナーをグループ化するかどうか。 |
Azure 認証を構成する
アプリで Azure サービスを使用する場合は、コンテナーで実行するときに Azure サービスで認証するための適切な資格情報が必要です。 通常、開発中は独自の Azure 資格情報を使用できますが、コンテナー環境で実行するには、コンテナー化されたアプリで運用環境で使用する資格情報が必要です。
Visual Studio 2022 バージョン 17.6 以降では、単一コンテナーおよび Docker Compose プロジェクトに トークン プロキシ サービスがデプロイされて実行され、アプリとサービスが Azure で認証されます。 この機能には 、Azure Identity 1.9.0 以降が 必要です。
このサービスを有効にすると、構成やセットアップを追加することなく、コンテナー内のほとんどの Azure サービスを自動的に使用できます。 コードでは、 DefaultAzureCredential
と VisualStudioCredential
を使用して、コンテナーの外部と同じ方法で Azure サービスで認証できます。 詳細については、 Azure Identity 1.9.0 README を参照してください。
この機能を無効にするには、[コンテナー ツールの単一プロジェクト] または [Docker Compose] 設定で [コンテナーでサービスを実行する] を [Azure 認証] を False に設定します。
注意事項
トークン プロキシを使用して特定の診断ログを有効にすると、セキュリティ上の問題が発生する可能性があります。 これらのログでは、認証資格情報がプレーン テキストとして公開される可能性があります。 次の環境変数を使用すると、これらのログが有効になります。
- 単一コンテナプロジェクトの場合、
MS_VS_CONTAINERS_TOOLS_LOGGING_ENABLED
が%tmp%\Microsoft.VisualStudio.Containers.Tools
にログインします。 - Docker Compose プロジェクトでは、
MS_VS_DOCKER_TOOLS_LOGGING_ENABLED
が%tmp%\Microsoft.VisualStudio.DockerCompose.Tools
にログインします。