Docker容器中的烧瓶访问本地主机

时间:2018-11-26 13:18:33

标签: python django docker flask

在我的本地主机上,我有一个运行在端口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',))

1 个答案:

答案 0 :(得分:0)

您需要记住,不同的容器具有不同的地址。所以flask上的localhost:8000在其他容器上没有运行django的想法。 您需要使用Django的内部IP地址或以其他方式解析主机名