我正在docker中制作我的pythondjango应用程序的简单图像。但是在构建容器的末尾,它抛出了下一个警告(我正在Ubuntu20.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上安装需求,它为什么会抛出这个警告呢。我正在用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"]
发布于 9 月前
回答
容器的构建方式并没有添加用户,所以一切都是以root用户的身份完成的。
您可以创建一个用户并安装到该用户的主目录,方法如下:;
FROM python:3.8.3-alpine
RUN pip install --upgrade pip
RUN adduser -D myuser
USER myuser
WORKDIR /home/worker
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"]
