Es ist eine Fortsetzung von Letztes Mal. Führen Sie dieses Mal die Python-Datei über pycharm im Remote-Docker-Container aus. Es ist ein wenig verwirrend, deshalb fasse ich es wie folgt zusammen.
Bearbeiten Sie die Datei lokal, synchronisieren Sie sie jedoch mit der Fernbedienung
Lassen Sie pycharm zur Laufzeit den Python-Interpreter im Remote-Docker erkennen und ausführen.
Remote Docker erkennt und führt Dateien auf der Fernbedienung aus
Es ist dasselbe wie hier, außer dass Docker oder Docker Compose verwendet werden sollen. Ich wünschte, Pycharm könnte den Code direkt auf der Fernbedienung bearbeiten, aber aus irgendeinem Grund kann ich das nicht.
Docker ist eine Client-Server-Modellanwendung. Sie können Docker verwenden, indem Sie die Verarbeitung vom Docker-Daemon (Server) anfordern. Standardmäßig erfolgt die Kommunikation über den Unix-Socket, z. B. beim Übergeben des Docker-Befehls. Wenn Sie ihn jedoch festlegen, können Sie auch über den TCP-Socket kommunizieren. Auf diese Weise können Sie die Verarbeitung vom lokalen und Remote-Docker-Daemon anfordern. In Bezug auf den Docker-Mechanismus hier war diese Site hilfreich. Übrigens können Sie den Docker des Servers auch remote ausführen, indem Sie den lokalen Unix-Socket an den Remote-Unix-Socket weiterleiten.
Die Referenzsite ist dieselbe, aber Sie können die Verarbeitung vom Remote-Docker über den TCP-Socket anfordern, indem Sie Folgendes ausführen. (Ursprünglich scheint es in der Produktionsumgebung gefährlich zu sein, wenn Sie das Zertifikat bei der Kommunikation nicht verwenden, sondern es separat festlegen. Dieser Bereich ist hier. /log20141212.html) und das offizielle hier sind detailliert.)
Sie können Docker von Pycharm über den TCP-Socket drücken, indem Sie auf dem Server Folgendes tun:
#Einstellungen ändern
$ sudo vim /etc/systemd/system/docker.service.d/startup_options.conf
#Inhalt, der in den Einstellungen beschrieben werden soll
$ cat /etc/systemd/system/docker.service.d/startup_options.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H unix:// -H tcp://0.0.0.0:2376
#Laden und neu starten
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker.service
#Überprüfen Sie die Einstellungen
# "/usr/bin/dockerd -H unix:// -H tcp://0.0.0.0:2376"OK, wenn es gibt
$ service docker status
Redirecting to /bin/systemctl status docker.service
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/docker.service.d
└─docker-bridge-yj.conf, startup_options.conf
Active: active (running) since Tue 2019-06-18 12:54:47 JST; 4 days ago
Docs: https://docs.docker.com
Main PID: 4595 (dockerd)
Tasks: 26
Memory: 9.2G
CGroup: /system.slice/docker.service
└─4595 /usr/bin/dockerd -H unix:// -H tcp://0.0.0.0:2376
Legen Sie die Synchronisierung auf der Registerkarte "Verbindung" unter "Einstellungen"> "Erstellen", "Ausführen", "Bereitstellung"> "Bereitstellung" fest.
Geben Sie das Kennwort des Benutzers unter Host: Raspberry pi IP-Adresse, Benutzername: raspbian Benutzername und Kennwort ein. Der Root-Pfad legt fest, wo im Raspberry Pi als "Root" erkannt wird. (Das heißt, es muss nicht mit dem Root-Pfad / des Raspberry Pi übereinstimmen.) Geben Sie https: // [Raspberry Pi IP Address] als Webserver-URL ein.
Nehmen Sie als Nächstes die Einstellungen auf der Registerkarte Zuordnung vor. Legen Sie den lokalen Ordner fest, den Sie mit diesem lokalen Pfad synchronisieren möchten :. Geben Sie außerdem im Bereitstellungspfad den Pfad an, den Sie als ** relativen Pfad ** aus dem zuvor festgelegten Stammpfad synchronisieren möchten.
Wenn Sie unter Extras> Bereitstellung> Optionen die Option Geänderte Dateien automatisch auf Standardserver hochladen aktivieren, können Sie die Dateien bequem neu schreiben und ohne Berechtigung synchronisieren.
Der Beamte ist hier.
Fügen Sie einen Remote-Docker mit Einstellungen> Erstellen, Ausführen, Bereitstellen> Bereitstellen> Docker hinzu. Der TCP-Socket lautet tcp: // [IP-Adresse]: [die zuvor festgelegte Nummer].
Klicken Sie unter Einstellungen> Projekt> Projektinterpreter auf die Zahnradmarkierung, um den Projektinterpreter hinzuzufügen. Wählen Sie den Docker aus, den Sie zuvor auf dem Server eingerichtet haben. Legen Sie außerdem die von Ihnen erstellte Datei docker-compose.yml in den Konfigurationsdateien fest.
Wenn Sie von Pycharm oben ausgeführt werden, sollte sich der Python-Interpreter im Docker-Container verschieben.
Recommended Posts