Permission Denied When Installing Packages Using Pip In Docker Container Django

Я не могу установить пакет внутри моего контейнера docker, пожалуйста, дайте мне знать, как я могу решить эту проблему.

Предупреждение:

ПРЕДУПРЕЖДЕНИЕ: Каталог '/home/app/.cache/pip' или его родительский каталог не принадлежит текущему пользователю или не доступен для записи. Кэш был отключен. Проверьте права доступа и владельца этого каталога. Если вы выполняете pip с помощью sudo, вам следует использовать флаг sudo -H.

error:

ERROR: Could not install packages due to an OSError: [Errno 13] Permission denied: '/home/app'
Check the permissions.

Dockerfile:

FROM python:3
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1

WORKDIR /app
EXPOSE 8000

COPY ./core/ /app/
COPY ./scripts /scripts

RUN pip install --upgrade pip
COPY requirements.txt /app/
RUN pip install -r requirements.txt && \
    adduser --disabled-password --no-create-home app && \
    mkdir -p /vol/web/static && \
    mkdir -p /vol/web/media && \
    chown -R app:app /vol && \
    chmod -R 755 /vol && \
    chmod -R +x /scripts

USER app

CMD ["/scripts/run.sh"]

команда внутри контейнера:

pip install django-storages

В моем случае я установил пакет, используя пользователя root, добавив -u 0, что указывает docker на вход от имени пользователя root.

docker exec -u 0 -it mycontainer bash
Вернуться на верх