Docker 容器正在启动但未使用 FastApi 给出任何响应

Docker container is starting but isnt giving any response using FastApi

我刚刚制作了一个 Fast api 并使用 docker 容器部署了它。但是当 运行 127.0.0.1:5000 在浏览器上它有空响应。 Main.py 文件:

from fastapi import FastAPI
from starlette.status import HTTP_302_FOUND,HTTP_303_SEE_OTHER
import spacy
from string import punctuation
from mangum import Mangum

nlp = spacy.load("en_core_web_lg",disable=["tok2vec", "parser"])

app = FastAPI()

@app.get('/')
def home():
    return {"answer":"Hello World"}

@app.get('/tags')
def prep_data(text):
    tag = tokens(text, nlp)
    tags = getdict(tag)
    return {
        'tags':tags
    }

Docker 文件:

FROM tiangolo/uvicorn-gunicorn-fastapi:python3.8

COPY . /app

COPY ./requirements.txt /app/requirements.txt

WORKDIR /app

EXPOSE 5000

RUN pip install -r requirements.txt
RUN python -m spacy download en_core_web_lg

CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "5000"]

我正在关注的文件结构:

/app
    main.py
Dockerfile
requirements.txt

这些就是所有的内容,浏览器没有任何响应。

当 运行 容器时,您还应该 link 暴露的端口到主机上的开放端口。

docker run -dp <host_port>:<container_port> <image>