Beim maschinellen Lernen und bei der Datenanalyse ist es selten, dass die Analyse- / Entwicklungsarbeiten nur mit der vorliegenden Maschine abgeschlossen werden. Ich denke, dass es mit Docker usw. auf einem Remote-Server mit GPU Morimori entwickelt wird.
Ausgehend von VSCode habe ich einen Versuch und Irrtum zur Python-Entwicklung in einer Remote-Umgebung durchgeführt, daher werde ich ihn zusammenfassen.
Ich bin ein Anfänger, der gerade mit der Verwendung von VS Code begonnen hat. Ich würde mich freuen, wenn Sie mir einen Rat geben könnten.
Es ist eine Arbeitsumgebung. Ich glaube nicht, dass es an diese Umgebung gebunden ist.
Da es sich um eine integrierte Entwicklungsumgebung handelt, möchte ich VSCode auf einem lokalen Computer starten und die Arbeit nur mit lokalem VSCode abschließen.
--SSH-Verbindung vom VS-Code zum Remote-Server
Remote Development Verwenden Sie die Erweiterung. Diese Erweiterung scheint eine Sammlung von Remote-Entwicklungserweiterungen für SSH, Container und WSL zu sein (sie sehen auch bei Installation gleich aus).
Referenz: https://code.visualstudio.com/docs/remote/ssh#_getting-started
Remote Development:https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack
Öffnen Sie die Befehlspalette und wählen Sie "Remote-SSH: Mit Host verbinden", um eine Auswahlliste der Verbindungen aufzurufen.
Wenn Sie hier "Neuen SSH-Host hinzufügen" auswählen, werden Sie aufgefordert, den Befehl shsh einzugeben. Geben Sie daher denselben Befehl wie für die SSH-Verbindung vom Terminal aus ein. Beim ersten Herstellen einer Verbindung erinnere ich mich, dass es nur den Eintrag "Neuen SSH-Host hinzufügen" gab.
Geben Sie für die Schlüsselauthentifizierung den Schlüssel mit der Option -i
an, wenn Sie den Befehl ssh eingeben.
Diese Einstellungen werden standardmäßig in ~ / .ssh / config
geschrieben.
Sie können auch Einstellungen für die Portweiterleitung, Einstellungen für Schlüsseldateien usw. direkt schreiben. (Vielleicht einen Host hinzufügen)
Wählen Sie den Remote-Server in der Befehlspalette unter "Remote-SSH: Mit Host verbinden" aus, genau wie beim Hinzufügen des Hosts. Alternativ können Sie darauf zugreifen, indem Sie den Host unter "Remote Explorer" im Kontextmenü auf der linken Seite von VS Code auswählen.
Nach dem Herstellen einer Verbindung zum Remote-Server besteht der nächste Schritt darin, eine Verbindung zum Docker-Container herzustellen.
Ich habe auf den folgenden Artikel verwiesen (ich habe ihn nur so verfolgt, wie er ist, also überprüfen Sie bitte die Referenzquelle). Betreiben Sie den Docker-Container auf dem Server mit SSH über VS-Code: https://qiita.com/_kani/items/1ce36e36b0bcda403be2
Starten Sie das VSCode-Terminal und starten Sie den Container mit dem Docker-Befehl. Die RemoteDevelopment-Erweiterung verfügt auch über eine Funktion, die vom Starten des Docker-Containers bis zum Verbinden unterstützt. Dies scheint jedoch eine Docker-Operation auf dem lokalen Computer zu sein. Verwenden Sie beim Einrichten eines Containers auf einem Remote-Server den normalen Docker-Befehl (ich konnte es einfach nicht tun?).
Stellen Sie die Portweiterleitung ein. (Ich verstehe nicht wirklich, wie das funktioniert ...)
Öffnen Sie die SSH-Konfiguration. Wenn Sie die Befehlspalette öffnen und "ssh config" usw. eingeben, werden Elemente angezeigt. Wählen Sie sie daher aus.
Fügen Sie die Einstellung "LocalForward" zu den entsprechenden Remote-Host-Einstellungen hinzu.
Host 192.168.*******
HostName 192.168.*******
IdentityFile ~/.ssh/id_rsa
User *****
LocalForward 23750 /var/run/docker.sock
Stellen Sie über VS Code eine Verbindung zum Remote-Host her. Es ist auch erforderlich, die Remote Development-Erweiterung auf dem Remote-Host zu installieren.
Stellen Sie unter Voreinstellung die Parameter wie folgt ein. Wählen Sie auf der Registerkarte Remote aus und suchen Sie nach Docker.host. Es wird angezeigt.
tcp://localhost:23750
Sie sind jetzt bereit.
Der Einstellungsbildschirm wird angezeigt, wenn Sie in der Befehlspalette "Einstellungen Benutzereinstellung öffnen" usw. eingeben.
Bedienen Sie über den Remote Explorer in der Seitenleiste. Wenn Sie oben im Pulldown-Menü Container auswählen, wird eine Liste der Container angezeigt. Wählen Sie daher den Container aus, zu dem Sie eine Verbindung herstellen möchten. Stellen Sie mit "An Container anhängen" eine Verbindung zum Container her (ein neues Fenster wird geöffnet).
Da VSCod eine integrierte Entwicklungsumgebung ist, können Sie interaktiv Haltepunkte festlegen und Fehler beheben. In einer bestimmten Umgebung wurde jedoch bestätigt, dass keine Haltepunkte festgelegt und keine Schritte ausgeführt werden können und das Programm bis zum Ende ausgeführt wird.
Dies ist ein Problem, aber es scheint, dass die Debugger-Funktion durch Festlegen von Parametern in der Debugger-Einstellungsdatei'launch.json 'aktiviert wird.
'launch.json' wird auf dem Editorbildschirm angezeigt, indem Sie den Debugger über das VS Code-Seitenmenü öffnen und die Zahnradmarkierung oben drücken. Fügen Sie dieser JSON-Datei Parameter hinzu.
"stopOnEntry":true
Sie müssen vorsichtig mit der Reihenfolge sein, in der Sie stopOnEntry
setzen.
Als ich es vor "args" stellte, blieb ich eine Weile stecken, als ich auf das Phänomen stieß, dass der Parameter "args" nicht angewendet und das Argument nicht an den Debugger übergeben wurde.
Nach einigem Ausprobieren habe ich mich nun für das obige Verfahren entschieden. Wenn Sie einen besseren Weg kennen, lassen Sie es mich bitte wissen.
Insbesondere mache ich mir Sorgen, dass ich den Mechanismus zum Bedienen des Docker-Containers nicht verstehe.
Recommended Posts