使用dockercompose run时无法从up服务访问容器

2024-03-29 05:04:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个docker compose配置,如下所示:

version: '3.7'
services:
  flask:
    command: [python, app.py]
    ports:
      - "127.0.0.1:5000:5000"
  frontend:
    command: [sh, -c, "npm run start"]
    ports:
      - "127.0.0.1:7600:7600"
    links:
      - flask

frontend容器有一个正在运行的webpack开发服务器,它将/api/*路径请求代理到flask:5000进行处理。当我使用docker-compose up -d时,这非常有用。在

但是,假设我想使用pdb调试flask应用程序中的某些内容,我使用以下命令手动运行它:

^{pr2}$

然后突然,我的frontend服务无法将请求代理到我的flask服务,我得到了一个错误,如:Error occurred while trying to proxy request /testing from frontend:7600 to http://flask:5000 (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)

我错过了什么?如何使这个配置用于python代码的交互式调试?在

编辑:我正在运行Docker version 18.09.0, build 4d60db4docker-compose version 1.23.2, build 1110ad01


Tags: tocomposedockerpybuildapiappflask
1条回答
网友
1楼 · 发布于 2024-03-29 05:04:22

问题是当您手动运行时,容器名称不再是flask,您可以使用docker network inspect your_network看到它。在

您需要先docker-compose rm flask来释放名称flask,然后docker-compose run service-ports name flask flask。在

最后,我不知道如何使用pdb,但通常可以使用docker-compose exec flask sh或{}来获得交互式提示。在

相关问题 更多 >