В Dockerfile ошибочен COPY: у него не указан путь назначения. Задайте рабочий каталог, скопируйте приложение и запускайте uvicorn из каталога, где доступен модуль main.
FROM python:3.11
В Dockerfile ошибочен COPY: у него не указан путь назначения. Задайте рабочий каталог, скопируйте приложение и запускайте uvicorn из каталога, где доступен модуль main.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
FROM python:3.11
COPY ./app WORKDIR /app
RUN pip install torch transformers fastapi uvicorn sentence-transformers
CMD ["uvicorn", "main:app", "--host", "0.0.0.0"]
Ответ
В Dockerfile ошибочен COPY: у него не указан путь назначения. Задайте рабочий каталог, скопируйте приложение и запускайте uvicorn из каталога, где доступен модуль main.
Минимальное исправление, если исходники лежат в каталоге app контекста сборки:
FROM python:3.11
WORKDIR /app
COPY ./app /app
RUN pip install torch transformers fastapi uvicorn sentence-transformers
CMD ["uvicorn", "main:app", "--host", "0.0.0.0"]
Для воспроизводимой сборки зависимости обычно фиксируют в отдельном файле и устанавливают до копирования исходников. Порт и доступность main:app проверяются отдельно.