Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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
- Docker Desktop eller Podman Desktop.
- Visual Studio, eller för Podman-stöd, Visual Studio (Insiders), med arbetsbelastningen ASP.NET och webbutveckling, Azure-utvecklingsarbetsbelastning och/eller .NET-skrivbordsutveckling installerad.
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
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. |
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. |
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.
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.
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.
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.