如何从复杂的docker-compose webapp设置PyCharm远程调试?

时间:2018-04-09 15:01:40

标签: pycharm docker-compose

我已经在IntelliJ论坛上提出了这个问题,但没有收到任何答复。

我有一个Flask App在我的后端运行在docker容器中,还有app有一个容器,用于rabbitmq,celery和mongo。所以这只是一个常用的docker后端设置。

Docker-compose看起来是这样的:

version: '3'
services:
  api:
    build: api/
      ...
    links:
      - mongo
      - redis
    depends_on:
      - mongo
      - redis

  mongo:
   ...

  redis:
   ...

  rabbitmq:
   ...
  api_worker:
   ...
      - rabbitmq
    depends_on:
      - rabbitmq
    command: celery worker -A queue_conf -P eventlet -c 4 -l WARNING -Q emit,high,low,normal,process-message -n worker --without-gossip --without-mingle --without-heartbeat

我在docker compose中添加了一个远程解释器到项目的调试设置,它可以正常工作,直到它看到一个排队的任务。 Debuger跳过它。 调试器使用api Flask项目作为远程调试项目。

所以我的问题是:我应该怎么做才能调试这样的项目?在一个容器中运行所有东西?或者以某种方式调整我的调试设置?

我可以想象调试无法处理在其他容器运行的不同线程或服务中执行的代码,但我不确定它是如何工作的,因为我既不是docker也不是pydev库专家。

My setup:
PyCharm professional 2018.1 ;
Docker Engine 18.03 ;
Docker Compose 1.20.1 ;
OS MAC

0 个答案:

没有答案