Konfigurieren von Visual Studio-Containertools
Mithilfe der Visual Studio-Einstellungen können Sie bestimmte Eigenschaften festlegen, die darüber entscheiden, wie Visual Studio mit Docker-Containern zusammenarbeitet. Beispielsweise können Sie die Einstellungen für die Leistung und den Ressourcenverbrauch anpassen.
Einstellungen für Containertools
Wählen Sie im Hauptmenü Extras > Optionen aus, und klappen Sie Containertools > Einstellungen auf. Die Einstellungen der Containertools werden angezeigt.
Einstellungen unter Allgemein für Containertools:
Einstellungen unter Einzelnes Projekt und Docker Compose für Containertools:
Die folgende Tabelle hilft Ihnen möglicherweise beim Festlegen dieser Optionen.
Die Einstellungen unter Allgemein sind in der folgenden Tabelle beschrieben:
Name | Standardeinstellung | Gilt für | BESCHREIBUNG |
---|---|---|---|
Installieren Sie bei Bedarf Docker für Windows | Aufforderung | Einzelnes Projekt, Docker Compose | Wählen Sie aus, ob eine Benachrichtigung angezeigt werden soll, wenn Docker Desktop nicht installiert ist. |
ASP.NET Core-SSL-Zertifikat als vertrauenswürdig einstufen | Aufforderung | ASP.NET Core 2.x-Projekte | Wenn Aufforderung aktiviert und das localhost -SSL-Zertifikat nicht vertrauenswürdig ist, benachrichtigt Visual Studio Sie bei jeder Ausführung eines ASP.NET Core 2.x-Projekts. |
In der folgenden Tabelle werden die Einstellungen unter Einzelnes Projekt und Docker Compose beschrieben:
Name | Standardeinstellung | Gilt für | BESCHREIBUNG |
---|---|---|---|
Erforderliche Docker-Images beim Öffnen des Projekts mithilfe von Pull übertragen | True | Einzelnes Projekt, Docker Compose | Zum Steigern der Leistung beim Laden von Projekten beginnt Visual Studio einen Docker-Pull-Vorgang im Hintergrund, sodass das Image bereits heruntergeladen ist oder heruntergeladen wird, wenn Sie zur Ausführung Ihres Codes bereit sind. Wenn Sie lediglich Projekte laden und Code durchsuchen, können Sie False festlegen, um das Herunterladen von Containerimages zu vermeiden, die Sie nicht benötigen. |
Aktualisierte Docker-Images beim Öffnen des Projekts mithilfe von Pull übertragen | .NET Core-Projekte | Einzelnes Projekt, Docker Compose | Wenn Sie ein Projekt öffnen, suchen Sie nach Updates für Images, und laden Sie sie herunter, falls diese verfügbar sind. |
Container beim Öffnen des Projekts ausführen | True | Einzelnes Projekt, Docker Compose | Visual Studio nutzt einen Ahead-of-time-Prozess zur Erstellung eines Containers, der bereitsteht, wenn Sie Ihren Container erstellen und ausführen. Auch diese Maßnahme dient der Leistungsoptimierung. Wenn Sie steuern möchten, wann Ihr Container erstellt wird, legen Sie False fest. |
Entfernen von Containern beim Schließen des Projekts | True | Einzelnes Projekt, Docker Compose | Legen Sie False fest, wenn Container für Ihre Projektmappe beibehalten werden sollen, nachdem die Projektmappe oder Visual Studio geschlossen wurde. |
Name | Standardeinstellung | Gilt für | BESCHREIBUNG |
---|---|---|---|
Erforderliche Docker-Images beim Öffnen des Projekts mithilfe von Pull übertragen | True | Einzelnes Projekt, Docker Compose | Zum Steigern der Leistung beim Laden von Projekten beginnt Visual Studio einen Docker-Pull-Vorgang im Hintergrund, sodass das Image bereits heruntergeladen ist oder heruntergeladen wird, wenn Sie zur Ausführung Ihres Codes bereit sind. Wenn Sie lediglich Projekte laden und Code durchsuchen, können Sie False festlegen, um das Herunterladen von Containerimages zu vermeiden, die Sie nicht benötigen. |
Aktualisierte Docker-Images beim Öffnen des Projekts mithilfe von Pull übertragen | .NET Core-Projekte | Einzelnes Projekt, Docker Compose | Wenn Sie ein Projekt öffnen, suchen Sie nach Updates für Images, und laden Sie sie herunter, falls diese verfügbar sind. |
Container beim Öffnen des Projekts ausführen | True | Einzelnes Projekt, Docker Compose | Visual Studio nutzt einen Ahead-of-time-Prozess zur Erstellung eines Containers, der bereitsteht, wenn Sie Ihren Container erstellen und ausführen. Auch diese Maßnahme dient der Leistungsoptimierung. Wenn Sie steuern möchten, wann Ihr Container erstellt wird, legen Sie False fest. |
Entfernen von Containern beim Schließen des Projekts | True | Einzelnes Projekt, Docker Compose | Legen Sie False fest, wenn Container für Ihre Projektmappe beibehalten werden sollen, nachdem die Projektmappe oder Visual Studio geschlossen wurde. |
Ausführen eines Diensts in Containern zum Aktivieren der Azure-Authentifizierung | True | Einzelnes Projekt, Docker Compose | Visual Studio Version 17.6 oder höher führt einen Tokenproxy-Dienst im Container aus, der die Azure-Authentifizierung unterstützt, sodass Ihre Apps Azure-Dienste während der Entwicklung verwenden können. Legen Sie die Option auf False fest, wenn dieser Dienst nicht installiert und ausgeführt werden soll. |
Ausführen eines Diensts in Containern zum Aktivieren von Hot Reload | True | Einzelnes Projekt, Docker Compose | Legen Sie die Option auf False fest, wenn dieser Dienst nicht installiert und ausgeführt werden soll. Der Hot Reload-Dienst ist in Visual Studio 2022 Version 17.7 und höher verfügbar und unterstützt nur die Ausführung ohne Debuggen (STRG+F5). |
Die Einstellungen des Containertoolfensters steuern die Einstellungen, die für das Toolfenster Container gelten, das Informationen zu Docker-Containern und -Images anzeigt. Weitere Informationen finden Sie unter Verwenden des Fensters „Container“.
Die die Einstellungen für das Container-Fenster werden in der folgenden Tabelle beschrieben:
Name | Standardeinstellung | BESCHREIBUNG |
---|---|---|
Vor dem Löschen von Containern Bestätigung anfordern | Always | Steuert, ob beim Löschen nicht verwendeter Container eine Aufforderung angezeigt wird |
Vor dem Löschen von Images Bestätigung anfordern | Always | Steuert, ob beim Löschen nicht verwendeter Images eine Aufforderung angezeigt wird |
Vor dem Entfernen eines Containers bestätigen | Always | Steuert, ob beim Entfernen eines Containers eine Aufforderung angezeigt wird |
Vor dem Entfernen eines Images bestätigen | Always | Steuert, ob beim Entfernen eines Images eine Aufforderung angezeigt wird |
Bestätigung vor dem Ausführen einer großen Anzahl von Images | Always | Steuert, ob vor dem Start von Containern für mehr als zehn Images gleichzeitig eine Aufforderung angezeigt wird |
Warnung
Wenn das localhost
-SSL-Zertifikat nicht vertrauenswürdig ist und Sie das Kontrollkästchen auswählen, um die Benachrichtigung zu unterdrücken, treten in Ihrer App oder Ihrem Dienst bei HTTPS-Webanforderungen zur Laufzeit möglicherweise Fehler auf. Deaktivieren Sie in diesem Fall das Nicht fragen-Kontrollkästchen, führen Sie Ihr Projekt aus, und drücken Sie bei der Aufforderung Ihr Vertrauen aus.
Konfigurieren der Azure-Authentifizierung
Wenn Ihre App Azure-Dienste verwendet, benötigt sie die entsprechenden Anmeldeinformationen für die Authentifizierung, wenn sie in einem Container ausgeführt wird, um sich bei Azure-Diensten zu authentifizieren. Während der Entwicklung können Sie normalerweise Ihre eigenen Azure-Anmeldeinformationen anstelle der Anmeldeinformationen verwenden, die die App in der Produktion verwendet. Diese Anmeldeinformationen sind jedoch in der Containerumgebung erforderlich, damit sie für die ausgeführte containerisierte App nützlich sind.
Ab Visual Studio 2022 Version 17.6 wird in Einzelcontainer- und Docker Compose-Projekten ein Token-Proxydienst bereitgestellt und in Ihren Containern ausgeführt, mit dem Sich Ihre Apps und Dienste in Azure authentifizieren können. Das Feature erfordert Azure Identity 1.9.0 oder höher. Wenn dieser Dienst aktiviert ist, können Sie die meisten Azure-Dienste automatisch ohne zusätzliche Konfiguration oder Einrichtung innerhalb des Containers verwenden. Insbesondere kann Ihr Code DefaultAzureCredential
und VisualStudioCredential
verwenden, um sich bei Azure-Diensten auf die gleiche Weise wie außerhalb eines Containers zu authentifizieren. Weitere Informationen finden Sie in der Infodatei zu Azure Identity 1.9.0.
Um dieses Feature zu deaktivieren, legen Sie unter Tools>Optionen die Einstellung Einen Dienst in Containern zum Aktivieren der Azure-Authentifizierung ausführen (weiter oben in diesem Artikel beschrieben) auf False
fest.
Achtung
Es besteht ein potenzielles Sicherheitsproblem, wenn Sie den Tokenproxy verwenden und bestimmte Diagnoseprotokolle für Container-Tools aktiviert haben. Wenn die Protokollierung aktiviert ist, können Authentifizierungsanmeldeinformationen als Nur-Text protokolliert werden. Diese Protokolle werden durch bestimmte Umgebungsvariablen aktiviert. Für einzelne Containerprojekte ist die Umgebungsvariable MS_VS_CONTAINERS_TOOLS_LOGGING_ENABLED
, die dann in %tmp%\Microsoft.VisualStudio.Containers.Tools
protokolliert wird. Für Docker Compose-Projekte lautet die Variable MS_VS_DOCKER_TOOLS_LOGGING_ENABLED
, und sie wird in %tmp%\Microsoft.VisualStudio.DockerCompose.Tools
protokolliert.
Zugehöriger Inhalt
Weitere Informationen zum Arbeiten mit Containern in Visual Studio finden Sie in der Übersicht.