Exécutez des fichiers Python dans un conteneur Docker sur un Raspbian distant via PyCharm

C'est une continuation de Dernière fois. Cette fois, exécutez le fichier python dans le conteneur docker distant via pycharm. C'est un peu déroutant, alors je vais le résumer comme suit.

C'est la même chose que ici sauf s'il faut utiliser docker ou docker compose. Je souhaite que pycharm puisse modifier le code directement sur la télécommande, mais pour une raison quelconque, je ne peux pas.

Paramètres de Docker sur Raspbian

Pour accéder aux services Docker

Docker est une application de modèle client-serveur et vous pouvez utiliser docker en demandant le traitement au démon docker (serveur). Par défaut, la communication est effectuée via le socket Unix, comme lors du passage de la commande docker, mais si vous la définissez, vous pouvez également communiquer via le socket TCP. Cela vous permet de demander un traitement au démon docker local et distant. En ce qui concerne le mécanisme de docker ici, ce site a été utile. Au fait, il semble que vous puissiez également exécuter le docker du serveur à distance en transférant le socket Unix local vers le socket Unix distant.

Réglage

Le site de référence est le même, mais vous pouvez demander le traitement depuis le docker distant via le socket tcp en exécutant ce qui suit. (À l'origine, il semble qu'il soit dangereux dans l'environnement de production de ne pas utiliser le certificat lors de la communication, mais définissons-le séparément. Cette zone est ici /log20141212.html) et l'officiel ici sont détaillés.)

Vous pouvez accéder à docker depuis pycharm via le socket TCP en procédant comme suit sur le serveur:

#Modifier les paramètres
$ sudo vim /etc/systemd/system/docker.service.d/startup_options.conf

#Contenu à décrire dans les paramètres
$ 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

#Charger et redémarrer
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker.service

#Vérifier les paramètres
# "/usr/bin/dockerd -H unix:// -H tcp://0.0.0.0:2376"OK s'il y a
$ 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

Synchronisation des fichiers locaux et distants PyCharm

Définissez la synchronisation à partir de l'onglet Connexion de Préférences> Construire, Exécution, Déploiement> Déploiement.

Entrez le mot de passe de l'utilisateur dans Hôte: adresse IP Raspberry pi, nom d'utilisateur: nom d'utilisateur raspbian et mot de passe. Le chemin racine définit où dans le Raspberry Pi est reconnu comme la «racine». (Autrement dit, il ne doit pas nécessairement correspondre au chemin racine / du Raspberry Pi.) Entrez https: // [Adresse IP Raspberry Pi] pour l'URL du serveur Web.

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

Ensuite, définissez dans l'onglet Mappage. Définissez le dossier local que vous souhaitez synchroniser avec ce chemin local:. En outre, dans Chemin de déploiement, spécifiez le chemin que vous souhaitez synchroniser en tant que ** chemin relatif ** à partir du chemin racine défini précédemment.

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

Si vous cochez Télécharger automatiquement les fichiers modifiés sur le serveur par défaut depuis Outils> Déploiement> Options, il vous sera pratique de réécrire les fichiers et de les synchroniser sans autorisation.

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

Configurer un interpréteur Python à l'aide de Docker-compose

Le fonctionnaire est ici.

Paramètres de Docker

Ajoutez un Docker distant avec Preference> Build, Execution, Deployment> Deployment> Docker. Le socket TCP est tcp: // [adresse IP]: [le numéro que vous avez défini précédemment].

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

Cliquez sur la marque d'engrenage dans Préférences> Projet> Interpréteur de projet pour ajouter l'interpréteur de projet. Sélectionnez le Docker que vous avez configuré précédemment sur le serveur. Définissez également le fichier docker-compose.yml créé par vous-même dans le (s) fichier (s) de configuration.

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

Si vous exécutez à partir de pycharm ci-dessus, l'interpréteur python dans le conteneur docker doit se déplacer.

Recommended Posts

Exécutez des fichiers Python dans un conteneur Docker sur un Raspbian distant via PyCharm
Exécutez Matplotlib sur un conteneur Docker
Exécutez matplotlib sur un conteneur Windows Docker
Essayez le mode interactif Python dans un conteneur Docker
Exécuter un fichier Python avec une importation relative dans PyCharm
Exécutez l'image Docker de TensorFlow sur Python3
Exécuter un script local sur un hôte distant
Exécutez le code Python sur A2019 Community Edition
Exécutez une application Web Python avec Docker
Exécuter le notebook Jupyter sur un serveur distant
Créez des raccourcis pour exécuter des fichiers Python sur le terminal avec VScode
Exécutez régulièrement des programmes Python sur AWS Lambda
Utilisez l'API Kaggle dans un conteneur Docker
Exécutez des fichiers Python à partir de HTML en utilisant Django
Comment exécuter une application Django sur un conteneur Docker (environnement de développement et de production)
Utiliser python dans le conteneur Docker comme interpréteur Pycharm
Un mémorandum pour exécuter un script python dans un fichier bat
Comment créer un environnement Django (python) sur Docker
Lancer Django sur un conteneur Docker à l'aide de docker-compose up
Transportez un conteneur Docker
Installez Python 3.6 sur Docker
Comment exécuter un fichier Python à une invite de commande Windows 10
[Django] Créez rapidement un environnement de développement de conteneur Django (Docker) avec PyCharm
Exécutez Openpose sur Python (Windows)
Exécutez python avec PyCharm (Windows)
Exécutez Tensorflow 2.x sur Python 3.7
Exécutez le CGI de Python sur CORESERVER
Exécutez la commande unix sur python
Exécutez IPython Notebook sur Docker
Utiliser Python sur Windows (PyCharm)
Créez un environnement Python sur votre Mac avec Anaconda et PyCharm
Créez un script shell pour exécuter le fichier python plusieurs fois
Créer une image de conteneur Docker avec JRE8 / JDK8 sur Amazon Linux