Docker 中对 Flask 的 GET 请求失败
failing GET request to Flask in Docker
Docker 容器中 Flask 的简单请求失败,这里是 Dockerfile
:
FROM python:3.8-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
EXPOSE 8000:8000
CMD [ "flask", "run" ]
这里是docker-compose.yml
:
services:
vodolei:
image: my_api:demo
ports:
- 8000:8000
volumes:
- ./src:/app
environment:
FLASK_APP: main.py
FLASK_ENV: development
FLASK_RUN_HOST: 127.0.0.1
FLASK_RUN_PORT: 8000
这里是 main.py
:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello!'
Idk,我已经多次检查过了,这一定是我看不到的明显的东西。但是向 http://127.0.0.1:8000
returns 发送 GET 请求时,在 Insomnia 中出现一般性错误,其中包含“错误:服务器未返回任何内容(无 headers,无数据)”字样。
您的应用绑定到 127.0.0.1,这意味着它将只接受来自容器内部的连接。如果你让它绑定到 0.0.0.0,它将接受来自任何地方的连接
services:
vodolei:
image: my_api:demo
ports:
- 8000:8000
volumes:
- ./src:/app
environment:
FLASK_APP: main.py
FLASK_ENV: development
FLASK_RUN_HOST: 0.0.0.0
FLASK_RUN_PORT: 8000
Docker 容器中 Flask 的简单请求失败,这里是 Dockerfile
:
FROM python:3.8-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
EXPOSE 8000:8000
CMD [ "flask", "run" ]
这里是docker-compose.yml
:
services:
vodolei:
image: my_api:demo
ports:
- 8000:8000
volumes:
- ./src:/app
environment:
FLASK_APP: main.py
FLASK_ENV: development
FLASK_RUN_HOST: 127.0.0.1
FLASK_RUN_PORT: 8000
这里是 main.py
:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello!'
Idk,我已经多次检查过了,这一定是我看不到的明显的东西。但是向 http://127.0.0.1:8000
returns 发送 GET 请求时,在 Insomnia 中出现一般性错误,其中包含“错误:服务器未返回任何内容(无 headers,无数据)”字样。
您的应用绑定到 127.0.0.1,这意味着它将只接受来自容器内部的连接。如果你让它绑定到 0.0.0.0,它将接受来自任何地方的连接
services:
vodolei:
image: my_api:demo
ports:
- 8000:8000
volumes:
- ./src:/app
environment:
FLASK_APP: main.py
FLASK_ENV: development
FLASK_RUN_HOST: 0.0.0.0
FLASK_RUN_PORT: 8000