Не удалось запустить FastAPI с помощью «docker Compose Up».Python

Программы на Python
Anonymous
Не удалось запустить FastAPI с помощью «docker Compose Up».

Сообщение Anonymous »

Я работаю над запуском приложения FastAPI с помощью Docker Compose и каждый раз сталкиваюсь с одной и той же ошибкой.

Код: Выделить всё

app-1  | ERROR: Error loading ASGI app. Could not import module "main".
Содержимое файла main.py:

Код: Выделить всё

from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from .routers import serving, shopify_auth, shopify_auth_alt

app = FastAPI()

origins = ["*"]

app.add_middleware(
CORSMiddleware,
allow_origins=origins,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)

app.include_router(serving.router)
app.include_router(shopify_auth.router)
app.include_router(shopify_auth_alt.router)

@app.get("/")
def read_root():
return {"Hello": "World"}
Содержимое Dockerfile:

Код: Выделить всё

FROM python:3.10

COPY requirements.txt .

RUN python3 -m pip install --no-cache-dir --upgrade -r requirements.txt

COPY /app /app

EXPOSE 8000

CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
Файл docker-compose.yml:

Код: Выделить всё

services:
app:
build:
context: .
dockerfile: ./Dockerfile
ports:
- "8000:8000"
Я попробовал изменить имя файла с main.py на api.py, чтобы посмотреть, имеет ли это какое-либо значение, но все равно получаю идентичную ошибку.
Я искал в своем собственном проекте циклический импорт и искал «основной», но, насколько я могу судить, все ясно.
Я Я могу без проблем запускать локально, но при запуске docker compose происходит сбой.

Подробнее здесь: https://stackoverflow.com/questions/790 ... compose-up

Вернуться в «Python»