我尝试了 fastApi 和 uvicorn。
但我想知道为什么当我在端口 80 中执行 uvicorn 时,它在端口 52384 上工作。52384 显示 api 响应但 80 没有。
在 dockerfile 中,我添加了EXPOSE 80 80
.
// terminal
vscode ➜ /app (master ✗) $ lsof -i:80
vscode ➜ /app (master ✗) $ uvicorn main:app --port 80
INFO: Started server process [1115]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:80 (Press CTRL+C to quit)
INFO: 127.0.0.1:52384 - "GET / HTTP/1.1" 200 OK
// python
from typing import Optional
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: Optional[str] = None):
return {"item_id": item_id, "q": q}