【问题标题】:docker app builds but after running browser says This site can’t be reacheddocker app builds 但运行浏览器后显示无法访问此站点
【发布时间】:2021-09-20 13:50:01
【问题描述】:

Docker 创建镜像文件并运行,但在浏览器上没有结果。

我的烧瓶代码

from flask import Flask

app = Flask(__name__)

@app.route("/")
def home():
    return "Hello World"

if __name__ == "__main__":
    app.run(host ='0.0.0.0', port = 5001,debug=True)

Dockerfile

FROM python:alpine3.7
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt

docker-compose.yml 文件

version: "3.8"
    services:
      app:
    build: .
    command: python app.py
    ports:
      - "5001:5001"
    volumes:
      - .:/python-flask

发出命令后:- docker-compose up

结果:

正在启动 docker_demo_app_1 ... 完成 附加到 docker_demo_app_1 app_1 | * 服务 Flask 应用程序“应用程序”(延迟加载) app_1 | * 环境:生产 app_1 |警告:这是一个开发服务器。不要在生产部署中使用它。 app_1 |请改用生产 WSGI 服务器。 app_1 | * 调试模式:开启 app_1 | * 在所有地址上运行。 app_1 |警告:这是一个开发服务器。不要在生产部署中使用它。 app_1 | * 在http://172.18.0.2:5001/ 上运行(按 CTRL+C 退出) app_1 | * 使用 stat 重启 app_1 | * 调试器处于活动状态! app_1 | * 调试器 PIN:103-335-354

当我在浏览器上运行 http://172.18.0.2:5001/ 时,它会显示 -

This site can’t be reached
172.18.0.2 took too long to respond.

【问题讨论】:

    标签: python docker flask docker-compose


    【解决方案1】:

    那个

    Running on http://172.18.0.2:5001/
    

    具有误导性。那是容器内的IP地址。如果您从容器外部连接,请使用

    http://127.0.0.1:5001/
    

    这是浏览器本地的。如果您从其他地方浏览,请替换运行 docker 映像的服务器的 IP 地址。

    【讨论】:

      【解决方案2】:

      0.0.0.0 将在您机器的 IP 地址上运行。要通过网络浏览器访问您的应用,请导航至http://<machineIP>:5001

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-04-02
        • 1970-01-01
        • 2011-05-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多