Dela via


Konfigurera Visual Studio Container Tools

Du kan styra vissa aspekter av hur Visual Studio fungerar med Docker-containrar med hjälp av inställningar för containerverktyg . Den här artikeln beskriver hur du konfigurerar inställningar för containerverktyg som kan påverka Visual Studio-prestanda och resursanvändning när du arbetar med Docker-containrar.

Förutsättningar

Förutsättningar

  • Docker Desktop.
  • Visual Studio med arbetsbelastningen ASP.NET och webbutveckling, Azure-utveckling och/eller .NET-skrivbordsutveckling installerad.

Förutsättningar

  • Docker Desktop
  • Visual Studio 2019 eller senare med arbetsbelastningen ASP.NET och webbutveckling, arbetsbelastning för Azure-utveckling , .NET-skrivbordsutveckling och/eller .NET Core plattformsoberoende utveckling installerad.

Inställningar för containerverktyg

Om du vill komma åt inställningarna väljer du Verktygsalternativ > på Visual Studio-huvudmenyn. I den vänstra rutan rullar du nedåt och expanderar Container Tools.

Allmänna inställningar

Skärmbild av alternativen för Visual Studio Container Tools.

I följande tabell beskrivs allmänna inställningar:

Inställning Standardvärde Beskrivning
Installera Docker Desktop om det behövs Fråga mig Välj om du vill bli tillfrågad om Docker Desktop inte är installerat.
Starta Docker Desktop om det behövs Alltid Om Docker Desktop inte har startats väljer du om du vill starta det automatiskt eller om du vill fråga dig.
Lita på ASP.NET Core SSL-certifikat Fråga mig Välj om du vill fråga om localhost SSL-certifikatet inte är betrott i ett ASP.NET Core-projekt.

Skärmbild av alternativen för Visual Studio Container Tools.

I följande tabell beskrivs allmänna inställningar:

Inställning Standardvärde Beskrivning
Installera Docker Desktop om det behövs Fråga mig Välj om du vill bli tillfrågad om Docker Desktop inte är installerat.
Starta Docker Desktop om det behövs Fråga mig Om Docker Desktop inte har startats väljer du om du vill starta det automatiskt eller om du vill fråga dig.
Lita på ASP.NET Core SSL-certifikat Fråga mig Välj om du vill fråga om localhost SSL-certifikatet inte är betrott i ett ASP.NET Core-projekt.

Skärmbild av alternativen för Visual Studio Container Tools.

I följande tabell beskrivs allmänna inställningar:

Inställning Standardvärde Beskrivning
Uppmana att installera container-runtime när ingen är installerad Enabled Välj om du vill bli tillfrågad om Docker Desktop eller Podman inte är installerat.
Förfrågan om att lita på ASP.NET Core SSL-certifikat Välj om du vill fråga om localhost SSL-certifikatet inte är betrott i ett ASP.NET Core-projekt.
Starta containerkörningen om det behövs Fråga mig Om Docker Desktop eller Podman inte har startats väljer du om du vill starta det automatiskt eller om du vill fråga dig.
Containerkörning Auto Välj containerkörningen. Docker och Podman stöds. VäljAuto om du vill att Visual Studio ska upptäcka vilken körtid du använder.

Viktigt!

Om du anger Betro ASP.NET Core SSL-certifikat till Aldrig och localhost SSL-certifikatet inte är betrott kan HTTPS-webbförfrågningar misslyckas under körning. I så fall anger du Förtroende ASP.NET Core SSL-certifikat till Fråga mig, kör projektet och anger förtroende i prompten.

Inställningar för enskilt projekt eller Docker Compose

Inställningarna Container Tools Single Project och Docker Compose är identiska.

Skärmbild av alternativen för Container Tools i Visual Studio 2019.

Skärmbild av alternativen för Visual Studio 2022 Container Tools.

I följande tabell beskrivs inställningarna För enskilt projekt och Docker Compose :

Inställning Standardvärde Beskrivning
Hämta nödvändiga Docker-avbildningar vid projektöppning Sann Om du vill starta en Docker-hämtningsåtgärd i bakgrunden när ett containerprojekt läses in. Nödvändiga bilder har laddats ned eller laddas ner när du är redo att köra din kod. Om du bara vill bläddra i koden kan du ställa in på False för att undvika att ladda ned containeravbildningar som du inte behöver.
Hämta uppdaterade Docker-avbildningar vid projektöppning .NET Core-projekt Om eller på vilka projekt som ska köra en Docker-hämtning för alla avbildningar i projektet som är öppna för att få de senaste uppdateringarna.
Kör containrar när projektet öppnas Sann Om du vill skapa en container när du öppnar ett containerprojekt, så att den är redo när du bygger och kör. Om du föredrar att styra när containern skapas ställer du in på Falskt.
Ta bort containrar vid projektstängning Sann Om du vill ta bort containrar för lösningen när du har stängt lösningen eller stängt Visual Studio.
Inställning Standardvärde Beskrivning
Hämta nödvändiga Docker-avbildningar vid projektöppning Sann Om du vill starta en Docker-hämtningsåtgärd i bakgrunden när ett containerprojekt läses in. Nödvändiga bilder har laddats ned eller laddas ner när du är redo att köra din kod. Om du bara vill bläddra i koden kan du ställa in på False för att undvika att ladda ned containeravbildningar som du inte behöver.
Hämta uppdaterade Docker-avbildningar vid projektöppning .NET Core-projekt Om eller på vilka projekt som ska köra en Docker-hämtning för alla avbildningar i projektet som är öppna för att få de senaste uppdateringarna.
Kör containrar när projektet öppnas Sann Om du vill skapa en container när du öppnar ett containerprojekt, så att den är redo när du bygger och kör. Om du föredrar att styra när containern skapas ställer du in på Falskt.
Ta bort containrar vid projektstängning Sann Om du vill ta bort containrar för lösningen när du har stängt lösningen eller stängt Visual Studio.
Kör en tjänst i containrar för att aktivera Azure-autentisering Sann För Visual Studio version 17.6 eller senare, om du vill installera och köra en tokenproxytjänst i containern för att aktivera Azure-autentisering. Med den här tjänsten kan dina appar använda Azure-tjänster under utvecklingen. Mer information finns i avsnittet Konfigurera Azure-autentisering .
Kör en tjänst i containrar för att aktivera snabb inläsning Sann För Visual Studio version 17.7 och senare, om du vill installera och köra tjänsten Hot Reload. Den här tjänsten stöder endast körning utan felsökning, Ctrl+F5.

Följande inställningar i avsnittet Container Warmup styr hur Visual Studio optimerar prestanda genom att starta tjänster och förbereda bilder före förväntad användning.

Inställning Standardvärde Beskrivning
Hämta nödvändiga bilder vid projektöppning Enabled Om du vill starta en Docker-hämtningsåtgärd i bakgrunden när ett containerprojekt läses in. Nödvändiga bilder har laddats ned eller laddas ner när du är redo att köra din kod. Om du bara vill bläddra i koden kan du ställa in på False för att undvika att ladda ned containeravbildningar som du inte behöver.
Kör containrar när projektet öppnas Sann Om du vill skapa en container när du öppnar ett containerprojekt, så att den är redo när du bygger och kör. Om du föredrar att styra när containern skapas ställer du in på Falskt.
Ta bort containrar vid projektstängning Sann Om du vill ta bort containrar för lösningen när du har stängt lösningen eller stängt Visual Studio.

Följande inställningar visas i avsnittet Felsökning :

Inställning Standardvärde Beskrivning
Kör en tjänst i containrar för att aktivera Azure-autentisering Enabled Om du vill installera och köra en tokenproxytjänst i containern för att aktivera Azure-autentisering. Med den här tjänsten kan dina appar använda Azure-tjänster under utvecklingen. Mer information finns i avsnittet Konfigurera Azure-autentisering .
Kör en tjänst i containrar för att aktivera snabb inläsning Enabled Om du vill installera och köra tjänsten Hot Reload. Den här tjänsten stöder endast körning utan felsökning, Ctrl+F5.

Inställningar för containerverktygets fönster

Inställningarna för containerverktygets fönster gäller för fönstret Containrar i Visual Studio IDE, som visar information om Docker-containrar och avbildningar. För mer information, se Använd Containerfönstret.

Skärmbild av Visual Studio Container Tools-alternativ, som visar de inställningar som är tillgängliga för verktygsfönstret Containers.

I följande tabell beskrivs inställningarna för Containers-verktygsfönstret:

Inställning Standardvärde Beskrivning
Bekräfta innan du rensar containrar Alltid Om du vill bli tillfrågad när du rensar oanvända containrar.
Bekräfta innan du rensar bilder Alltid Om du vill få en uppmaning när oanvända bilder tas bort.
Bekräfta innan du tar bort en container Alltid Om du vill att du ska bli tillfrågad när en container tas bort.
Bekräfta innan du tar bort en bild Alltid Om att visa en prompt när du tar bort en bild.
Bekräfta innan du kör ett stort antal bilder Alltid Huruvida du vill bli uppmanad innan du startar fler än 10 containrar samtidigt.

Inställningar för containrars fönster

Inställningarna för fönstret Containrar gäller för fönstret Containrar i Visual Studio IDE, som visar information om Docker-containrar och avbildningar. För mer information, se Använd Containerfönstret.

Skärmbild av alternativen för Visual Studio Container Tools som visar de inställningar som är tillgängliga för fönstret Containrar.

I följande tabell beskrivs inställningarna för fönstret Containrar :

Inställning Standardvärde Beskrivning
Bekräfta innan du rensar containrar Alltid Om du vill bli tillfrågad när du rensar oanvända containrar.
Bekräfta innan du rensar bilder Alltid Om du vill få en uppmaning när oanvända bilder tas bort.
Bekräfta innan du tar bort en container Alltid Om du vill att du ska bli tillfrågad när en container tas bort.
Bekräfta innan du tar bort en bild Alltid Om att visa en prompt när du tar bort en bild.
Bekräfta innan du kör ett stort antal bilder Alltid Huruvida du vill bli uppmanad innan du startar fler än 10 containrar samtidigt.
Visa strängformat som ska användas i fönstret Containrar Blank Ett visningssträngformat som ska användas i fönstret Containrar med stöd för {ContainerName}, {ImageName}, {ProjectName} och {ContainerID}-token.
Gruppera containrar efter Docker Compose-projektet Alltid Om containrar ska grupperas efter Det Docker Compose-projekt som de ingår i.

Konfigurera Azure-autentisering

Om din app använder Azure-tjänster behöver den lämpliga autentiseringsuppgifter för att autentisera med Azure-tjänster när den körs i en container. Du kan vanligtvis använda dina egna Azure-autentiseringsuppgifter under utvecklingen, men för att köras i containermiljön kräver den containerbaserade appen de autentiseringsuppgifter som används i produktionen.

Visual Studio 2022 version 17.6 och senare distribuerar och kör en tokenproxytjänst i dina projekt med en container och Docker Compose för att hjälpa dina appar och tjänster att autentiseras i Azure. Funktionen kräver Azure Identity 1.9.0 eller senare.

Med den här tjänsten aktiverad kan du automatiskt använda de flesta Azure-tjänster inom containern utan någon tillagd konfiguration. Din kod kan använda DefaultAzureCredential och VisualStudioCredential för att autentisera med Azure-tjänster på samma sätt som utanför en container. Mer information finns i Azure Identity 1.9.0 README.

Om du vill inaktivera den här funktionen anger du Kör en tjänst i containrar för att aktivera Azure-autentisering till False i inställningarna För enskilda projekt eller Docker Compose för containerverktyg.

Försiktighet

Att använda tokenproxyn och aktivera vissa diagnostikloggar utgör ett potentiellt säkerhetsproblem. Dessa loggar kan exponera autentiseringsuppgifter som oformaterad text. Följande miljövariabler aktiverar dessa loggar:

  • För enskilda projekt med en container, MS_VS_CONTAINERS_TOOLS_LOGGING_ENABLED, som loggar in %tmp%\Microsoft.VisualStudio.Containers.Tools.
  • För Docker Compose-projekt, MS_VS_DOCKER_TOOLS_LOGGING_ENABLED, som loggar in %tmp%\Microsoft.VisualStudio.DockerCompose.Tools.

Inställningar för containrars fönster

Inställningarna för fönstret Containrar gäller för fönstret Containrar i Visual Studio IDE, som visar information om Docker-containrar och avbildningar. För mer information, se Använd Containerfönstret.

I följande tabell beskrivs inställningarna för fönstret Containrar :

Inställning Standardvärde Beskrivning
Bekräfta innan du rensar containrar Enabled Om du vill bli tillfrågad när du rensar oanvända containrar.
Bekräfta innan du rensar bilder Enabled Om du vill få en uppmaning när oanvända bilder tas bort.
Bekräfta innan du tar bort en container Enabled Om du vill att du ska bli tillfrågad när en container tas bort.
Bekräfta innan du tar bort en bild Enabled Om att visa en prompt när du tar bort en bild.
Bekräfta innan du kör ett stort antal bilder Enabled Huruvida du vill bli uppmanad innan du startar fler än 10 containrar samtidigt.
Visa strängformat som ska användas i fönstret Containrar Blank Ett visningssträngformat som ska användas i fönstret Containrar med stöd för {ContainerName}, {ImageName}, {ProjectName} och {ContainerID}-token.
Gruppera containrar efter Docker Compose-projektet Enabled Om containrar ska grupperas efter Det Docker Compose-projekt som de ingår i.

Konfigurera Azure-autentisering

Om din app använder Azure-tjänster behöver den lämpliga autentiseringsuppgifter för att autentisera med Azure-tjänster när den körs i en container. Du kan vanligtvis använda dina egna Azure-autentiseringsuppgifter under utvecklingen, men för att köras i containermiljön kräver den containerbaserade appen de autentiseringsuppgifter som används i produktionen.

Visual Studio distribuerar och kör en tokenproxytjänst i dina projekt med en container och Docker Compose för att hjälpa dina appar och tjänster att autentiseras i Azure. Funktionen kräver Azure Identity 1.9.0 eller senare.

Med den här tjänsten aktiverad kan du automatiskt använda de flesta Azure-tjänster inom containern utan någon tillagd konfiguration. Din kod kan använda DefaultAzureCredential och VisualStudioCredential för att autentisera med Azure-tjänster på samma sätt som utanför en container. Mer information finns i Azure Identity 1.9.0 README.

Om du vill inaktivera den här funktionen anger du Kör en tjänst i containrar för att aktivera Azure-autentisering till False i inställningarna För enskilda projekt eller Docker Compose för containerverktyg.

Försiktighet

Att använda tokenproxyn och aktivera vissa diagnostikloggar utgör ett potentiellt säkerhetsproblem. Dessa loggar kan exponera autentiseringsuppgifter som oformaterad text. Följande miljövariabler aktiverar dessa loggar:

  • För enskilda projekt med en container, MS_VS_CONTAINERS_TOOLS_LOGGING_ENABLED, som loggar in %tmp%\Microsoft.VisualStudio.Containers.Tools.
  • För Docker Compose-projekt, MS_VS_DOCKER_TOOLS_LOGGING_ENABLED, som loggar in %tmp%\Microsoft.VisualStudio.DockerCompose.Tools.