Anfügen an einen in einem Docker-Container ausgeführten Prozess
Sie können Apps, die entweder in einem Docker-Container unter Windows oder einen Docker-Container für .NET Core unter Linux ausgeführt werden, mithilfe von Visual Studio debuggen.
Voraussetzungen
Wenn noch nicht geschehen, müssen Sie den SSH-Server auf dem Linux-Server installieren. Verwenden Sie zum Entpacken und Installieren das curl- oder wget-Tool. Unter Ubuntu können Sie beispielsweise Folgendes ausführen:
sudo apt-get install openssh-server unzip curl
Das Secure File Transfer Protocol (SFTP) muss ebenfalls aktiviert sein. Die meisten SSH-Distributionen installieren und aktivieren SFTP standardmäßig, aber das ist nicht immer der Fall.
Anfügen an einen Prozess, der in einem Linux-Docker-Container ausgeführt wird
Sie können den Visual Studio-Debugger an einen Prozess anfügen, der in einem .NET Core Linux-Docker-Container auf Ihrem lokalen oder Remotecomputer ausgeführt wird, indem Sie das Dialogfeld An den Prozess anhängen verwenden.
Wichtig
Um dieses Feature zu verwenden, benötigen Sie lokalen Zugriff auf den Quellcode.
So fügen Sie an einen aktiven Prozess in einem Linux-Docker-Container an
- Wählen Sie in Visual Studio Debuggen > An den Prozess anhängen (STRG+ALT+P) aus, um das Dialogfeld An den Prozess anhängen zu öffnen.
Legen Sie den Verbindungstyp auf Docker (Linux-Container) fest.
Wählen Sie Suchen... aus, um das Verbindungsziel über das Dialogfeld Docker-Container auswählen festzulegen.
Sie können einen Docker-Containerprozess entweder lokal oder remote debuggen.
So debuggen Sie einen Docker-Containerprozess lokal
- Legen Sie Docker-CLI-Host auf Lokaler Computer fest.
- Wählen Sie einen aktiven Container zum Anfügen aus der Liste aus, und klicken Sie auf OK.
B. So debuggen Sie einen Docker-Containerprozess remote:
Hinweis
Es gibt zwei Möglichkeiten, eine Remoteverbindung mit einem aktiven Prozess in einem Docker-Container herzustellen. Die erste Option, die Verwendung von SSH, ist ideal, wenn Sie keine Docker-Tools auf Ihrem lokalen Computer installiert haben. Wenn Sie die Docker-Tools lokal installiert haben und Sie über einen Docker-Daemon verfügen, der so konfiguriert ist, dass er Remoteanforderungen akzeptiert, probieren Sie die zweite Option mit einem Docker-Daemon aus.
So stellen Sie über SSH eine Verbindung mit einem Remotecomputer her
- Wählen Sie Hinzufügen... aus, um eine Verbindung mit einem Remotesystem herzustellen.
- Wählen Sie einen aktiven Container zum Anfügen aus, nachdem die Verbindung mit SSH oder dem Daemon erfolgreich hergestellt wurde, und drücken Sie auf OK.
- Wählen Sie Hinzufügen... aus, um eine Verbindung mit einem Remotesystem herzustellen.
So legen Sie das Ziel auf einen Remote-Container fest, der einen Prozess über einen Docker-Daemon ausführt:
- Geben Sie die Daemon-Adresse (d. h. über TCP, IP usw.) unter Docker-Host (Optional) an, und klicken Sie auf den Link „Aktualisieren“.
- Wählen Sie einen aktiven Container zum Anfügen aus, nachdem die Verbindung mit dem Daemon erfolgreich hergestellt wurde, und drücken Sie auf OK.
Wählen Sie den entsprechenden Containerprozess aus der Liste der Verfügbaren Prozesse und dann die Option Anfügen aus, um mit dem Debuggen Ihres C#-Containerprozesses in Visual Studio zu beginnen.
Anfügen an einen Prozess, der in einem Windows-Docker-Container ausgeführt wird
Sie können den Visual Studio-Debugger an einen Prozess anfügen, der in einem Windows-Docker-Container auf Ihrem lokalen Computer ausgeführt wird, indem Sie das Dialogfeld An den Prozess anhängen verwenden.
Wichtig
Um dieses Feature mit einem .NET Core-Prozess nutzen zu können, müssen Sie die Workload für die plattformübergreifende .NET Core-Entwicklung installieren und über lokalen Zugriff auf den Quellcode verfügen.
So fügen Sie an einen aktiven Prozess in einem Windows-Docker-Container an
Wählen Sie in Visual Studio Debuggen > An den Prozess anhängen (oder STRG+ALT+P) aus, um das Dialogfeld An den Prozess anhängen zu öffnen.
Legen Sie den Verbindungstyp auf Docker (Windows-Container) fest.
Wählen Sie Suchen... aus, um das Verbindungsziel über das Dialogfeld Docker-Container auswählen festzulegen.
Wichtig
Der Zielprozess muss dieselbe Prozessorarchitektur aufweisen wie der Windows-Docker-Container, in dem er ausgeführt wird.
Das Festlegen des Ziels auf einen Remotecontainer über SSH ist derzeit nicht verfügbar und kann nur über einen Docker-Daemon erfolgen.
So legen Sie das Ziel auf einen Remote-Container fest, der einen Prozess über einen Docker-Daemon ausführt:
Geben Sie die Daemon-Adresse (d. h. über TCP, IP usw.) unter Docker-Host (Optional) an, und klicken Sie auf den Link „Aktualisieren“.
Wählen Sie einen aktiven Container zum Anfügen aus, nachdem die Verbindung mit dem Daemon erfolgreich hergestellt wurde, und wählen Sie „OK“ aus.
Wählen Sie den entsprechenden Containerprozess aus der Liste der Verfügbaren Prozesse und dann die Option Anfügen aus, um mit dem Debuggen Ihres C#-Containerprozesses zu beginnen.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für