Freigeben über


Verwenden des Fensters "Container"

Sie können das Fenster "Visual Studio-Container" verwenden, um zu sehen, was sich in den Docker-Containern befindet, die Ihre Apps hosten, und um Ihre Containerimages anzuzeigen. Wenn Sie daran gewöhnt sind, Docker-Befehle zum Anzeigen und Analysieren Ihrer Container auszuführen, bietet dieses Fenster eine bequeme Möglichkeit zum Überwachen und Interagieren mit Containern, ohne die Visual Studio-IDE zu verlassen.

Voraussetzungen

Anzeigen von Informationen zu Ihren Containern

Das Fenster "Container " wird automatisch geöffnet, wenn Sie ein containerisiertes .NET-Projekt starten. Wenn Sie das Fenster "Container" jederzeit öffnen möchten, wählen Sie im Visual Studio-Menü "Andere>>" aus. Sie können auch STRG+Q verwenden, um das Visual Studio-Suchfeld zu öffnen, Container einzugeben und das Containerelement auszuwählen.

Screenshot des Fensters

Auf der linken Seite des Fensters wird die Liste der Container auf Ihrem lokalen Computer angezeigt. Die ihrer aktuellen Lösung zugeordneten Container befinden sich unter Lösungscontainern. Auf der rechten Seite wird ein Bereich mit den Registerkarten Umgebung, Bezeichnungen, Ports, Volumes, Dateien und Protokolle angezeigt.

Das Fenster "Container " wird automatisch geöffnet, wenn Sie ein containerisiertes .NET-Projekt starten. Wenn Sie das Fenster "Container" jederzeit öffnen möchten, wählen Sie im Visual Studio-Menü "Andere>>" aus, oder drücken Sie STRG+K, STRG+O. Sie können auch STRG+Q verwenden, um das Visual Studio-Suchfeld zu öffnen, Container einzugeben und das Containerelement auszuwählen.

Screenshot des Fensters

Auf der linken Seite des Fensters wird die Liste der Container auf Ihrem lokalen Computer angezeigt. Die ihrer aktuellen Lösung zugeordneten Container befinden sich unter Lösungscontainern. Auf der rechten Seite wird ein Bereich mit den Registerkarten Umgebung, Bezeichnungen, Ports, Volumes, Dateien, Protokolle und Details angezeigt.

Wenn Sie Docker Compose und Visual Studio 2022, Version 17.7 oder höher, verwenden, wird eine Struktur von Knoten mit einem übergeordneten Knoten für Ihre Lösung und untergeordnete Knoten für jedes Projekt angezeigt, das in Docker Compose registriert ist.

Screenshot mit Docker Compose-Knoten im Fenster

Tipp

Standardmäßig wird das Fenster "Container" mit dem Überwachungsfenster angedockt, wenn der Debugger ausgeführt wird. Sie können ganz einfach anpassen, wo das Toolfenster "Container" verankert ist. Siehe Anpassen von Fensterlayouts in Visual Studio.

Anzeigen von Umgebungsvariablen

Auf der Registerkarte " Umgebung " werden die Umgebungsvariablen im Container angezeigt. Sie können diese Variablen in der Dockerfile-Datei, in einer env-Datei oder mithilfe der -e Option festlegen, wenn Sie einen Container mit einem Docker-Befehl starten.

Hinweis

Änderungen an den Umgebungsvariablen werden nicht in Echtzeit angezeigt. Außerdem sind die Umgebungsvariablen auf dieser Registerkarte die Systemumgebungsvariablen im Container, nicht die lokalen Benutzerumgebungsvariablen für die App.

Screenshot der Registerkarte

Screenshot der Registerkarte

Beschriftungen anzeigen

Auf der Registerkarte "Etiketten " werden die Bezeichnungen für den Container angezeigt. Bezeichnungen sind eine Möglichkeit, benutzerdefinierte Metadaten für Docker-Objekte festzulegen. Visual Studio legt einige Bezeichnungen automatisch fest.

Screenshot des Fensters

Screenshot des Fensters

Anzeigen von Portzuordnungen

Auf der Registerkarte "Ports " können Sie die Portzuordnungen für Ihren Container überprüfen. Bekannte Ports sind verknüpft, sodass Sie den Link auswählen können, um einen Browser mit der Hostportadresse zu öffnen.

Screenshot der Registerkarte

Screenshot der Registerkarte

Anzeigen von Volumes

Auf der Registerkarte Volumes werden die eingebundenen Dateisystemknoten oder Volumes des Containers angezeigt.

Screenshot der Registerkarte

Screenshot der Registerkarte

Anzeigen des Dateisystems

Auf der Registerkarte "Dateien " können Sie das Dateisystem des Containers anzeigen, einschließlich des App-Ordners, der Ihr Projekt enthält. Mithilfe der Registerkarte "Dateien " können Sie Anwendungsprotokolle wie IIS-Protokolle (Internet Information Services), Konfigurationsdateien und andere Inhaltsdateien im Dateisystem Ihres Containers anzeigen.

Screenshot der Registerkarte

Screenshot der Registerkarte

Hinweis

In Visual Studio 2022 Version 17.7 oder höher kann das Dockerfile den Befehl USER app enthalten, der angibt, dass die App mit normalen Benutzerberechtigungen ausgeführt werden soll. Auf der Registerkarte "Dateien " werden dieselben Berechtigungen verwendet, sodass Sie möglicherweise keine Ordner anzeigen können, die erhöhte Berechtigungen zum Anzeigen erfordern.

Um eine Datei in Visual Studio zu öffnen, doppelklicken Sie auf die Datei, oder klicken Sie mit der rechten Maustaste darauf, und wählen Sie "Öffnen" aus. Visual Studio öffnet die Datei im schreibgeschützten Modus.

Screenshot der für die Anzeige in Visual Studio geöffneten Datei.

Screenshot der für die Anzeige in Visual Studio geöffneten Datei.

Protokolle anzeigen

Auf der Registerkarte "Protokolle " werden die Ergebnisse des docker logs Befehls angezeigt. Standardmäßig zeigt die Registerkarte stdout und stderr-Streams auf einem Container an, aber Sie können die Ausgabe konfigurieren. Ausführliche Informationen finden Sie unter Docker-Protokollierung.

Standardmäßig streamt die Registerkarte "Protokolle " die Protokolle. Sie können den Datenstrom anhalten, indem Sie auf der Registerkarte die Schaltfläche " Streamprotokolle " auswählen. Wählen Sie "Streamprotokolle " erneut aus, um das Streaming von der Stelle fortzusetzen, von der sie unterbrochen wurde.

Screenshot: Registerkarte „Protokolle“ im Fenster „Container“

Standardmäßig streamt die Registerkarte "Protokolle " die Protokolle. Sie können den Datenstrom anhalten, indem Sie auf der Registerkarte die Schaltfläche "Stream " auswählen. Wählen Sie "Stream " erneut aus, um das Streaming fortzusetzen, von wo es unterbrochen wurde.

Screenshot: Registerkarte „Protokolle“ im Fenster „Container“

Verwenden Sie die Schaltfläche " Löschen " auf der Registerkarte "Protokolle ", um die Protokolle zu löschen. Um alle Protokolle abzurufen, verwenden Sie die Schaltfläche " Aktualisieren ".

Hinweis

Visual Studio leitet stdout automatisch und stderr in das Ausgabefenster um, wenn Sie Windows-Container ohne Debugging ausführen. Diese Protokolle werden dann nicht auf der Registerkarte "Protokolle " angezeigt.

Wenn Sie Docker Compose mit Visual Studio 2022, Version 17.7 oder höher, verwenden, können Sie Protokolle jedes Containers separat anzeigen oder in einen einzelnen Ausgabedatenstrom überlappen. Wenn Sie den übergeordneten Knoten für die Projektmappe auswählen, werden gebündelte Protokolle aus allen Compose-Projekten angezeigt. Die erste Spalte in jeder Zeile zeigt den Container, der diese Ausgabezeile erzeugt hat. Wenn Sie nur die Protokolle für einen Container anzeigen möchten, wählen Sie den Knoten dieses Projekts aus.

Screenshot, der verflochtene Protokolle in der Registerkarte

Details anzeigen

Auf der Registerkarte "Details " werden Metadaten- und Laufzeitinformationen zur Konfiguration des Containers im JSON-Format angezeigt. Diese Informationen umfassen Umgebungsvariablen, Ports, Volumes und andere Laufzeiteinstellungen.

Screenshot der Registerkarte

Interagieren mit Containern

In den Bestätigungsdialogfeldern für verschiedene Aufgaben, z. B. das Entfernen von Containern und Images oder das Gleichzeitige Starten von mehr als 10 Containern, werden möglicherweise Eingabeaufforderungen angezeigt. Sie können jede Eingabeaufforderung mithilfe des Kontrollkästchens im Dialogfeld deaktivieren.

Sie können diese Optionen auch mithilfe der Einstellungen unter> ToolsOptions>Container Tools>Container Tool Window aktivieren oder deaktivieren. Weitere Informationen finden Sie unter Konfigurieren von Containertools.

Sie können diese Optionen auch aktivieren oder deaktivieren, indem Sie die Einstellungen unter Extras>Optionen>Container-Tools>Containerfenster verwenden. Weitere Informationen finden Sie unter Konfigurieren von Containertools.

Starten, Beenden und Entfernen von Containern

Standardmäßig werden im Fenster "Container " alle Container auf dem Computer angezeigt, den Docker verwaltet. Sie können die Symbolleistenschaltflächen im Fenster "Container " verwenden, um einen Container zu starten, zu beenden oder zu löschen. Die Containerliste wird dynamisch aktualisiert, wenn Container erstellt oder entfernt werden.

Um mehrere Container auszuwählen, z. B., um mehrere Container gleichzeitig zu entfernen, verwenden Sie Strg+Auswahl. Sie werden aufgefordert, zu bestätigen, ob Sie versuchen, mehr als 10 Container gleichzeitig zu starten oder zu entfernen. Sie können die Bestätigungsaufforderungen bei Bedarf deaktivieren.

Öffnen Sie ein Terminalfenster in einem laufenden Container

Sie können ein Terminalfenster (Eingabeaufforderung oder interaktive Shell) im Container öffnen, indem Sie die Schaltfläche " Terminalfenster öffnen " im Containerfenster verwenden.

Screenshot des Fensters

Screenshot des Fensters

Bei Windows-Containern wird die Windows-Eingabeaufforderung geöffnet. Bei Linux-Containern wird ein Fenster mit der Bash-Shell geöffnet.

Screenshot des Bash-Fensters.

Normalerweise wird das Terminalfenster außerhalb von Visual Studio als separates Fenster geöffnet. Wenn Sie eine Befehlszeilenumgebung in die Visual Studio-IDE als andockbares Toolfenster integrieren möchten, können Sie Whack Whack Terminal installieren.

Screenshot des Bash-Fensters.

Wenn Sie auf .NET 8 in Visual Studio 2022, Version 17.7 und höher abzielen, kann Ihre Dockerfile den USER app Befehl angeben, was bedeutet, dass Ihre App mit regulären Benutzerberechtigungen und nicht mit erhöhten Berechtigungen ausgeführt wird. Das Terminal wird geöffnet, wie vom Benutzer in der Dockerfile angegeben, was in .NET 8-Projekten standardmäßig app ist. Wenn kein Benutzer angegeben ist, wird das Terminal als root Benutzer ausgeführt.

Anfügen des Debuggers an einen Containerprozess

Sie können den Debugger an einen Prozess anfügen, der im Container ausgeführt wird, indem Sie die Schaltfläche " An Prozess anfügen " auf der Symbolleiste des Fensters "Container " verwenden. Wenn Sie diese Schaltfläche verwenden, wird das Dialogfeld "An Prozess anhängen " angezeigt und zeigt die Prozesse an, die im Container ausgeführt werden.

Screenshot des Dialogfelds

Screenshot des Dialogfelds

Sie können sich mit den verwalteten Prozessen im Container verbinden. Wenn Sie in einem anderen Container nach einem Prozess suchen möchten, wählen Sie im Dialogfeld "An Prozess anfügen" die Schaltfläche "Suchen" aus, und wählen Sie im Dialogfeld "Docker-Container auswählen" einen anderen Container aus.

Bilder anzeigen

Sie können Bilder auf dem lokalen Computer anzeigen, indem Sie die Registerkarte "Bilder " auf der linken Seite des Fensters "Container" verwenden. Bilder, die aus externen Repositorys abgerufen werden, werden in einer Strukturansicht gruppiert.

Screenshot des Fensters

Der rechte Bereich enthält die Registerkarten, die für Images anwendbar sind: Bezeichnungen und Details. Auf der Registerkarte "Details " werden die Konfigurationsdetails für das Bild im JSON-Format angezeigt.

Screenshot, das die Registerkarte

Screenshot des Fensters

Im rechten Bereich sind die Registerkarten für Bilder verfügbar: Bezeichnungen, Details und Ebenen. Auf der Registerkarte "Details " werden die Konfigurationsdetails für das Bild im JSON-Format angezeigt.

Screenshot, das die Registerkarte

Um ein Bild zu entfernen, klicken Sie in der Strukturansicht mit der rechten Maustaste auf das Bild, und wählen Sie "Entfernen" aus, oder wählen Sie das Bild aus, und wählen Sie dann die Schaltfläche "Entfernen " auf der Symbolleiste aus.

Löschen von Containern und Images

Sie können Container und Bilder, die Sie nicht verwenden, ganz einfach entfernen, indem Sie auf der Symbolleiste des Fensters "Container" die Schaltfläche "Prune" auswählen.

Screenshot: Schaltfläche „Löschen“

  • Wenn Sie die Registerkarte "Container " ausgewählt haben, werden Sie aufgefordert, zu bestätigen, dass Sie alle nicht verwendeten Container entfernen möchten.

Screenshot: Schaltfläche „Löschen“

  • Wenn Sie die Registerkarte "Container " ausgewählt haben, werden Sie aufgefordert, zu bestätigen, dass Sie alle beendeten Container entfernen möchten.
  • Wenn sie die Registerkarte "Bilder " ausgewählt haben, fragt die Eingabeaufforderung, ob Sie alle hängenden Bilder entfernen möchten. Dangling-Bilder sind Bilder von Ebenen, die keinem markierten Bild mehr zugeordnet sind. Löschen Sie nicht zugeordnete Images gelegentlich, um Speicherplatz zu sparen.