web-dev-qa-db-fra.com

Comment déboguer des processus s'exécutant dans docker-compose avec pycharm

J'essaie de passer de Pycharm + Django à un environnement de développement basé sur un menu fixe. Je cours sur mac et utilise Docker-Compose (quelques dockers: mon application Django, certains db et nginx).

Tout fonctionne correctement, les modifications de code sont immédiatement reflétées dans le menu fixe et les packages corrects disponibles lors du codage dans Pycharm. Une fois Docker-composition démarré, une liste des conteneurs en cours d’exécution est affichée dans la fenêtre du plug-in Docker de Pycharm. Pour chaque conteneur, je peux voir ses liaisons journal/propriétés/port/volume.

L'interpréteur semble être configuré correctement avec Docker Compose (app sur [{mon chemin} /docker-compose.yaml]) en tant qu'interpréteur de projet et mappage de chemin pour ->/code dans le bon dossier du menu fixe.

Le problème est que je ne parviens pas à le déboguer. Lorsque je sélectionne Docker-Compose dans la boîte de dialogue de débogage, la seule option disponible est Exécuter, pas de débogage.

 

Cela ne me semble pas être un problème lié à Docker/Compose, mais au plug-in Pycharm qui ne permet pas de s'exécuter en mode débogage avec la configuration d'exécution/de débogage de docker-compose.

Avez-vous une idée de comment déboguer avec Pycharm?

4
AlonS

Vous êtes censé utiliser la configuration d'exécution Python standard, pas celle spécifique à Docker. Ce dernier est utilisé pour créer des conteneurs, démarrer des services de composition de menus, etc.

PyCharm démarrera automatiquement vos services, montera votre code et l'exécutera dans un conteneur avec une configuration d'exécution Python pure si un interpréteur basé sur Docker est sélectionné.

Peut-être que les docs peuvent aider: https://www.jetbrains.com/help/pycharm/using-docker-compose-as-a-remote-interpreter.html

4
Pavel Karateev

Il y a actuellement un problème avec Django amarré avec un point d’entrée, donc donnez-vous une idée du problème si quelqu'un d'autre arrive ici avec ça! Si vous rencontrez ce problème, créez un autre fichier docker-compose.dev.yml uniquement pour le débogage sans point d’entrée. C'est le travail pour le moment 

1
Omar A. Shaban