[英]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
)並嘗試使用sudo
( sudo 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
(...)
有沒有人遇到過這個問題或知道任何解決方法? 我一直在努力奮斗了幾個小時,而且(從字面上看)我已經耗盡了這些想法。 任何幫助將非常感激。
嘗試從安裝的軟件包以及py-cffi中刪除python3-dev。 alpine軟件包中的Python與Docker映像中的Python不同,如果可以的話,您不想安裝Alpine Python。
我建議避免高山。 使用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.