私は (メタルではなく) Docker コンテナーでより多くの作業を行ってきましたが、最近、Visual Studio 2019 が VS 自体内のコンテナーの更新されたサポートを追加していることに気付いたので、試してみました.
新しい ASP.NET Core Web アプリを作成するときは、[作成] をクリックしたときに [docker サポートを有効にする] をオンにしてください。
もちろん、最初に Docker for Windows が必要です。 Hyper-V で表示されるユーティリティ VM ではなく、バックエンドに WSL2 を使用する新しい Docker Desktop for Windows を使用しています。
次に、Visual Studio 2019 内で、[表示] メニューに移動し、[その他のウィンドウ | コンテナー] をクリックします。この新しいツール ウィンドウを下部にドッキングするのが好きです。
上のスクリーンショットでは、コンテナー内で SQL Server on Linux を起動していることに注意してください。このウィンドウは素晴らしく、基本的に、コンテナ内で開発する際に知りたいことや見たいことがすべて含まれています。
公開されているポート、コンテナーのローカル ファイル システム、環境、および発生したログを確認できます。
必要に応じて、コンテナーを右クリックして、実行中のコンテナーにターミナル ウィンドウを表示することもできます。
また、https://aka.ms/containerfastmode を参照して、Visual Studio がマルチステージ Dockerfile (以下のような) を使用してイメージを構築し、デバッグを高速化する方法を理解することもできます。
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
WORKDIR /src
COPY ["WebApplication1/WebApplication1.csproj", "WebApplication1/"]
RUN dotnet restore "WebApplication1/WebApplication1.csproj"
COPY . .
WORKDIR "/src/WebApplication1"
RUN dotnet build "WebApplication1.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "WebApplication1.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "WebApplication1.dll"]
Visual Studio の新しいコンテナー ツールについてお読みください。プロジェクトに dockerfile がある可能性がありますが、このコンテナー ツール ウィンドウを使用していない可能性があります!
スポンサー: コードを年間 300 回以上スキャンする組織は、テスト プロセスが散発的である組織に比べて、セキュリティ負債が 5 倍少なくなります。 Veracode による 2019 年の SOSS X レポートでは、このデータやその他のデータが掘り下げられています。