在我的本地主机上,我有一个运行在端口8000上的Django应用程序。 Docker可以设置不同的容器,其中包括带有配置的Flask应用程序:
redirection-service:
container_name: redirection-service
build:
context: "..."
ports:
- 5000:5000
links:
- redis
在flask应用程序中,我使用requests
调用来访问localhost上Django应用程序的端点:
backend_url = 'localhost:8000/...'
requests.post(backend_url, data={}, allow_redirects=True, verify=False)
但是我得到了错误
requests.exceptions.ConnectionError: HTTPConnectionPool(host='localhost', port=8000): Max retries exceeded with url: /.../ (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f4d706f7588>: Failed to establish a new connection: [Errno 111] Connection refused',))
答案 0 :(得分:0)
您需要记住,不同的容器具有不同的地址。所以flask上的localhost:8000在其他容器上没有运行django的想法。 您需要使用Django的内部IP地址或以其他方式解析主机名