簡體   English   中英

Docker中的pip不能打開文件'/ usr / local / bin / pip':[Errno 13]權限被拒絕

[英]pip in docker getting can't open file '/usr/local/bin/pip': [Errno 13] Permission denied

我在容器內運行python(django)應用程序(使用django cookiecutter項目模板)。 一切正常,但突然出現以下錯誤,構建失敗:

Step 5/13 : RUN pip install -r /requirements/local.txt ---> Running in 4118795a1036 /usr/local/bin/python: can't open file /usr/local/bin/pip': [Errno 13] Permission denied ERROR: Service 'django' failed to build: The command '/bin/sh -c pip install -r /requirements/local.txt' returned a non-zero code: 2

首次安裝docker時,我遵循了官方docker文檔中的權限( https://docs.docker.com/install/linux/linux-postinstall/

使用的圖像:python:3.6-alpine

Docker版本19.03.1,內部版本74b1e89 docker-compose版本1.24.0,內部版本0aa59064 Ubuntu 18.04.3 LTS

我已經嘗試過修剪docker系統( docker system prune )並嘗試使用sudosudo docker-compose build )構建項目,但沒有成功。

這是我的Dockerfile的樣子:

FROM python:3.6-alpine

ENV PYTHONUNBUFFERED 1

RUN apk update \
  # psycopg2 dependencies
  && apk add --virtual build-deps gcc python3-dev musl-dev \
  && apk add mariadb-dev \
  && apk add mysql-client \
  # Pillow dependencies
  && apk add jpeg-dev zlib-dev freetype-dev lcms2-dev openjpeg-dev tiff-dev tk-dev tcl-dev \
  # CFFI dependencies
  && apk add libffi-dev py-cffi \
  # Translations dependencies
  && apk add gettext \
  # https://docs.djangoproject.com/en/dev/ref/django-admin/#dbshell
  && apk add postgresql-client

# Requirements are installed here to ensure they will be cached.
COPY ./requirements /requirements
RUN pip install -r /requirements/local.txt 
(...)

有沒有人遇到過這個問題或知道任何解決方法? 我一直在努力奮斗了幾個小時,而且(從字面上看)我已經耗盡了這些想法。 任何幫助將非常感激。

  1. 嘗試從安裝的軟件包以及py-cffi中刪除python3-dev。 alpine軟件包中的Python與Docker映像中的Python不同,如果可以的話,您不想安裝Alpine Python。

  2. 我建議避免高山。 使用Alpine的動機是縮小圖像,但是由於二進制輪子不適用於Alpine,因此您需要編譯軟件包...這意味着您需要安裝編譯器,這會使圖像更大。 如果您切換到Debian基本映像python:3.6-slim-buster (我也認為您也應該出於其他原因: https : //pythonspeed.com/articles/base-image-python-docker-images/ ),您將簡化你的生命。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM