Запуск проекта Python с использованием библиотеки python-magic в контейнере Docker в ОС Windows 10 приводит к ошибке «Магический модуль не найден».
Предлагаемое исправление:
Изначально изменение зависимости с python-magic на python-magic-bin решило проблему проблема в местной среде. Однако при запуске проекта в контейнере Docker неожиданно возникла та же ошибка.
Содержимое Dockerfile:
Код: Выделить всё
# Dockerfile for API service
FROM python:3.11.0 as base
# Dependencies installations
RUN apt-get update && apt-get install -y \
poppler-utils \
tesseract-ocr \
libgl1-mesa-glx \
libmagic1 \
python3-magic
# Non-root user setup
RUN groupadd --gid 1000 user && adduser --disabled-password --gecos '' --uid 1000 --gid 1000 user
WORKDIR /home/user
USER user
# Development stage setup
FROM base as dev
USER root
COPY --chown=user:user ./requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
COPY --chown=user:user ./src /home/user/src
COPY --chown=user:user ./test /home/user/test
COPY --chown=user:user .env /home/user/.env
USER user
CMD ["python", "-m", "uvicorn", "src.main:app", "--host", "0.0.0.0", "--port", "5000", "--reload", "--env-file", "/home/user/.env"]
# Test stage setup
FROM base as test
COPY --chown=user:user ./requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
USER root
COPY --chown=user:user ./src /home/user/src
COPY --chown=user:user ./test /home/user/test
RUN mkdir /home/user/.mypy_cache && chown user:user -R /home/user/.mypy_cache
RUN pip install pytest
CMD ["pytest"]
USER user
# Default target stage
FROM dev
Ошибка «Магический модуль не найден» сохраняется при запуске проекта в контейнере Docker, несмотря на изменение зависимости библиотеки. Ищу идеи или предложения по решению этой проблемы. Ваше мнение?
Подробнее здесь: https://stackoverflow.com/questions/782 ... hub-action
Мобильная версия