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

如何从复杂的docker compose webapp设置PyCharm远程调试?,pycharm,docker-compose,Pycharm,Docker Compose,我已经在IntelliJ论坛上问过这个问题,但还没有得到任何答案 我在docker容器中的后端运行了一个Flask应用程序,还有一个rabbitmq、芹菜和mongo容器。因此,这只是docker的一个常见后端设置 Docker compose的外观如下: version: '3' services: api: build: api/ ... links: - mongo - redis depends_on: - mo

我已经在IntelliJ论坛上问过这个问题,但还没有得到任何答案

我在docker容器中的后端运行了一个Flask应用程序,还有一个rabbitmq、芹菜和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中的远程解释器添加到项目的调试设置中,它可以正常工作,直到它看到排队的任务为止。调试程序跳过它。 调试器使用api Flask项目作为远程调试项目

所以我的问题是:我应该如何调试这样一个项目?把所有的东西放在一个容器里?或者以某种方式调整我的调试设置

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

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