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.
Modifiez le fichier localement, mais synchronisez-le avec la télécommande
Lors de l'exécution, faites reconnaître à pycharm l'interpréteur python dans le docker distant et exécutez-le.
Le docker distant reconnaît et exécute les fichiers sur la télécommande
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.
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.
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
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.
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.
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.
Le fonctionnaire est ici.
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].
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.
Si vous exécutez à partir de pycharm ci-dessus, l'interpréteur python dans le conteneur docker doit se déplacer.
Recommended Posts