我有一个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应用程序中的某些内容,我使用以下命令手动运行它:
然后突然,我的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 4d60db4
和docker-compose version 1.23.2, build 1110ad01
问题是当您手动运行时,容器名称不再是
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
或{相关问题 更多 >
编程相关推荐