我有一个用于测试django应用程序的简单的docker文件。我正在以root用户的身份运行docker,我可以读取requirements.txt文件,但是docker正在出错。有什么建议吗?
root@testdeploy:/app/test-project# docker-compose build
db uses an image, skipping
Building web...
Step 0 : FROM python:2.7
---> 93d77aec17a0
Step 1 : ENV PYTHONUNBUFFERED 1
---> Using cache
---> 25e2164606e7
Step 2 : WORKDIR /app/test-project/
---> Using cache
---> 366c21333f1f
Step 3 : RUN pip install -r /app/test-project/requirements.txt
---> Running in 75599e289c5e
Could not open requirements file: [Errno 2] No such file or directory: '/app/test-project/requirements.txt'
Service 'web' failed to build: The command [/bin/sh -c pip install -r /app/test-project/requirements.txt] returned a non-zero code: 1从命令行读取文件。
root@testdeploy:/app/test-project# head -5 /app/test-project/requirements.txt
Cheetah==2.4.4
Django==1.7
Landscape-Client==14.01
PAM==0.4.2
Pillow==2.6.1我的码头文件。
FROM python:2.7
ENV PYTHONUNBUFFERED 1
WORKDIR /app/test-project/
RUN pip install -r /app/test-project/requirements.txt
ADD . /app/test_project/发布于 2015-06-07 06:01:05
对接构建在与主机分离的容器中执行。容器有自己的文件系统,并且不知道主机系统上的文件。
您可以通过以下方式将文件复制到容器
COPY /path/on/host /path/on/container
在Dockerfile中
目前pip需要文件,但尚未添加。
在您的示例中,您可以将底部的ADD行移动到pip命令之前。它也将是COPY,但这不是bug。
如下所示:
FROM python:2.7
ENV PYTHONUNBUFFERED 1
COPY . /app/test_project/
WORKDIR /app/test-project/
RUN pip install -r /app/test-project/requirements.txt如果这仍然不起作用,则需要调整.,使其成为主机上正确的/path/ to /test-project。
发布于 2017-05-04 22:09:26
对于未来的搜索者来说,需要注意的一个问题是路径相对于docker-compose正在执行的当前Dockerfile的目录。
这意味着,如果您的文件与您的docker-compose.yml位于同一级别,而您的Dockerfile位于另一个目录中,则应该将其移到Dockerfile所在的目录中。
https://stackoverflow.com/questions/30690435
复制相似问题