docker 的多个 django 要求

multiple django requirements with docker

我是 docker 的新手,在使用具有多种需求的 Django 时,我在构建新图像时遇到了问题。它无法通过 pip 安装它们。

我得到

Could not open requirements file: [Errno 2] No such file or directory: 'requirements/local.txt'
Service 'web' failed to build: The command '/bin/sh -c pip install -r requirements/local.txt' returned a non-zero code: 1`

我的代码是:

FROM python:2.7
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
COPY requirements/local.txt /code/
RUN pip install -r requirements/local.txt
COPY . /code/

当 运行 docker-compose up 时,正确的语法是什么?

干杯

在你的 Dockerfile 你有:

COPY requirements/local.txt /code/

如果你在这之后添加...

RUN ls

...你可以看到:

Step 5 : RUN ls
 ---> Running in 88fd7cc1a616
local.txt

所以你想要:

RUN pip install -r local.txt

更新

没有魔法;如果你想维护你的本地结构,你需要在你的 Dockerfile 中明确说明。你可以这样做:

COPY requirements requirements

这会将整个 requirements 目录复制到 /code,或者您可以这样做:

RUN mkdir requirements
COPY requirements/local.txt requirements/local.txt