Führen Sie Python-Dateien in einem Docker-Container auf einem Remote-Raspbian über PyCharm aus

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.

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-Einstellungen auf Raspbian

Zugriff auf Docker-Dienste

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.

Aufbau

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

PyCharm Remote- und lokale Dateisynchronisation

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.

スクリーンショット 2019-12-21 1.11.05.png

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.

スクリーンショット 2019-12-21 1.11.58.png

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.

スクリーンショット 2019-12-21 2.22.07.png

Python-Interpreter-Einstellungen mit Docker-Compose

Der Beamte ist hier.

Docker-Einstellungen

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].

スクリーンショット 2019-12-21 2.07.00.png

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.

スクリーンショット 2019-12-21 2.06.40.png

Wenn Sie von Pycharm oben ausgeführt werden, sollte sich der Python-Interpreter im Docker-Container verschieben.

Recommended Posts

Führen Sie Python-Dateien in einem Docker-Container auf einem Remote-Raspbian über PyCharm aus
Führen Sie Matplotlib auf einem Docker-Container aus
Führen Sie matplotlib in einem Windows Docker-Container aus
Probieren Sie den interaktiven Python-Modus in einem Docker-Container aus
Führen Sie eine Python-Datei mit relativem Import in PyCharm aus
Führen Sie das Docker-Image von TensorFlow unter Python3 aus
Führen Sie ein lokales Skript auf einem Remote-Host aus
Führen Sie Python-Code in der A2019 Community Edition aus
Führen Sie eine Python-Webanwendung mit Docker aus
Führen Sie Jupyter Notebook auf einem Remote-Server aus
Erstellen Sie Verknüpfungen, um Python-Dateien auf dem Terminal mit VScode auszuführen
Führen Sie regelmäßig Python-Programme auf AWS Lambda aus
Verwenden Sie die Kaggle-API in einem Docker-Container
Führen Sie Python-Dateien mit Django aus HTML aus
So führen Sie eine Django-Anwendung auf einem Docker-Container aus (Entwicklungs- und Produktionsumgebung)
Verwenden Sie Python im Docker-Container als Pycharm-Interpreter
Ein Memorandum zum Ausführen eines Python-Skripts in einer Bat-Datei
So erstellen Sie eine Django (Python) -Umgebung auf Docker
Starten Sie Django auf einem Docker-Container mit Docker-Compose Up
Tragen Sie einen Docker-Container
Installieren Sie Python 3.6 auf Docker
So führen Sie eine Python-Datei an einer Windows 10-Eingabeaufforderung aus
[Django] Erstellen Sie mit PyCharm schnell eine Entwicklungsumgebung für Django-Container (Docker)
Führen Sie Openpose unter Python (Windows) aus.
Führen Sie Python mit PyCharm aus (Windows)
Führen Sie Tensorflow 2.x unter Python 3.7 aus
Führen Sie Pythons CGI auf CORESERVER aus
Führen Sie den Unix-Befehl auf Python aus
Führen Sie IPython Notebook auf Docker aus
Verwenden Sie Python unter Windows (PyCharm)
Erstellen Sie mit Anaconda und PyCharm eine Python-Umgebung auf Ihrem Mac
Erstellen Sie ein Shell-Skript, um die Python-Datei mehrmals auszuführen
Erstellen Sie ein Docker-Container-Image mit JRE8 / JDK8 unter Amazon Linux