Docker build running endlessly
I'm trying to build a docker image, but i'm running into an issue with uvicorn server running while building which causes it to never build.
so i'm looking for an alternative way of building/running the docker image.
Required the docker image should run the uvicorn server on startup
Haven't found any real solution from browsing SOF/Google
Code
main.py file
from fastapi import FastAPI, Request, Response
from fastapi.templating import Jinja2Templates
from fastapi.staticfiles import StaticFiles
from src.scraper import Scraper
app = FastAPI()
templates = Jinja2Templates(directory="src/templates")
app.mount("/static", StaticFiles(directory="src/static"), name="static")
scraper = Scraper()
scraper.scrapedata()
@app.get("/")
async def home(request: Request):
    return templates.TemplateResponse("index.html", {"request": request, "items": scraper.scrapedata()})
# if __name__ == "__main__":
#     import uvicorn
#     uvicorn.run(app, host="0.0.0.0", port=8000)
Dockerfile
FROM python:3.9.2-buster
ENV PYTHONDONTWRITEBYTECODEBYDEFAULT=1
ENV PYTHONUNBUFFERED=1
ENV PYTHONPATH "${PYTHONPATH}:/usr/src/"
COPY requirements.txt .
RUN python -m pip install --upgrade pip
RUN python -m pip install -r requirements.txt
WORKDIR /website
COPY . /website
RUN adduser -u 5678 --disabled-password --gecos "" webuser && chown -R webuser /website
USER webuser
EXPOSE 8000
#this is the cause for endless running. Any other way to do this?
RUN python -m uvicorn src.main:app --host 0.0.0.0 --port 8000
Console output
[+] Building 15.2s (11/12)
[+] Building 974.8s (11/12)
 => [internal] load build definition from Dockerfile                                                               0.1s
 => => transferring dockerfile: 512B                                                                               0.0s
 => [internal] load .dockerignore                                                                                  0.0s
 => => transferring context: 34B                                                                                   0.0s
 => [internal] load metadata for docker.io/library/python:3.9.2-buster                                             2.4s
 => [1/8] FROM docker.io/library/python:3.9.2-buster@sha256:56f1b4dbdebb3b6ec31126e256c0852d18e79909ed1df8b594e56  0.0s
 => [internal] load build context                                                                                  0.2s
 => => transferring context: 135.50kB                                                                              0.2s
 => CACHED [2/8] COPY requirements.txt .                                                                           0.0s
 => CACHED [3/8] RUN python -m pip install --upgrade pip                                                           0.0s
 => CACHED [4/8] RUN python -m pip install -r requirements.txt                                                     0.0s
 => CACHED [5/8] WORKDIR /website                                                                                  0.0s
 => [6/8] COPY . /website                                                                                          0.3s
 => [7/8] RUN adduser -u 5678 --disabled-password --gecos "" webuser && chown -R webuser /website                  5.5s
 => [8/8] RUN python -m uvicorn src.main:app --host 0.0.0.0 --port 8000                                          966.2s
 => => # 200
 => => # INFO:     Started server process [7]
 => => # INFO:     Waiting for application startup.
 => => # INFO:     Application startup complete.
 => => # INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)