【问题标题】:Docker connection refused on host 0.0.0.0 (flask)主机 0.0.0.0 (flask) 上的 Docker 连接被拒绝
【发布时间】:2020-02-20 16:49:53
【问题描述】:

我正在尝试在 docker 上运行一个示例烧瓶应用程序并从我的浏览器连接到它。我的 dockerfile 如下:

FROM ubuntu:latest
RUN apt-get update -y
RUN apt-get install -y python-pip python-dev build-essential
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
CMD ["flask", "run", "--host", "0.0.0.0"]

我使用以下命令运行应用程序:

docker run -d -p 5000:5000 myapp

日志说:

 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)

然而,当我在浏览器中访问localhost:5000/ 时,连接被拒绝。

我认为使用 0.0.0.0 主机将允许从我的浏览器连接到 docker 容器

【问题讨论】:

  • 试试http://localhost:50000.0.0.0 不是有效地址,它通常意味着“附加到所有接口”。
  • 感谢您的提示,不幸的是它仍然无法连接

标签: python docker flask


【解决方案1】:

改为从 docker 外部访问 http://0.0.0.0:5000/。来自烧瓶文档:

host – 要监听的主机名。将此设置为“0.0.0.0”以使服务器也可以在外部使用。默认为 '127.0.0.1' 或 SERVER_NAME 配置变量中的主机(如果存在)。

【讨论】:

  • http://0.0.0.0:5000/http://localhost:5000 都不会连接
  • 你试过在Docker中添加一个expose语句,EXPOSE 5000?
  • 我也有同样的问题。我的 Flask 应用程序成功监听 0.0.0.0,我在 Dockerfile 中有 EXPOSE 5000 行,但是......我得到了这个确切的错误。
猜你喜欢
  • 2019-11-12
  • 2020-03-14
  • 2021-05-11
  • 2014-05-31
  • 2016-01-27
  • 2015-12-12
  • 2015-09-20
  • 1970-01-01
相关资源
最近更新 更多