警告:以'root‘用户身份运行pip

浏览 2737关注 1回答 1得票数 28
原文

我正在用Docker制作我的python Django应用程序的简单图像。但在构建容器的末尾,它会抛出下一个警告(我是在Ubuntu 20.04上构建它的):

WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead

为什么在我的镜像中安装Python requirements时会抛出这个警告?我正在使用以下工具构建我的映像:

sudo docker build -t my_app:1 .

我是否应该担心pip抛出的警告,因为我知道它会破坏我的系统?

这是我的Dockerfile:

FROM python:3.8-slim-buster

WORKDIR /app

COPY requirements.txt requirements.txt

RUN pip install -r requirements.txt

COPY . .

CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
原文
nik7修改于2021-09-19 17:39

1 个回答

高票数最新
markwalker_
修改于2021-08-29 08:12
已采纳
得票数 23

构建容器的方式不会添加用户,因此所有操作都是以root用户身份完成的。

您可以创建一个用户并安装到该用户的主目录,方法如下;

FROM python:3.8.3-alpine

RUN pip install --upgrade pip

RUN adduser -D myuser
USER myuser
WORKDIR /home/myuser

COPY --chown=myuser:myuser requirements.txt requirements.txt
RUN pip install --user -r requirements.txt

ENV PATH="/home/myuser/.local/bin:${PATH}"

COPY --chown=myuser:myuser . .

CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
页面原文内容由V.D.、nik7、markwalker_、Mathilda、user550701提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:https://stackoverflow.com/questions/68673221复制

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com