我在windows10中运行docker,我的dockerfile就像这样
FROM python:2.7-slim
WORKDIR E:/docker
ADD . E:/docker
RUN pip install -r requirements.txt
EXPOSE 80
ENV NAME World
CMD ["python", "app.py"]
我跑的时候
docker build -t friendlyhello .
我这样得错了:
E:\docker-demo>docker build -t friendlyhello .
Sending build context to Docker daemon 4.608kB
Step 1/7 : FROM python:2.7-slim
---> d0d1b97dd328
Step 2/7 : WORKDIR E:/docker
---> Using cache
---> 305b573b82a5
Step 3/7 : ADD . E:/docker
---> 6d25bd33ba84
Step 4/7 : RUN pip install -r E:/docker-demo/requirements.txt
---> Running in e68dd3cd1c71
Could not open requirements file: [Errno 2] No such file or directory:
'E:/docker-demo/requirements.txt'
The command '/bin/sh -c pip install -r E:/docker-demo/requirements.txt' returned a non-zero code: 1
它使RUN为/bin/sh -c
。但它在Windows中应该是cmd /S /C
,当我直接在commonds线上运行pip install -r requirements.txt
时,它可以工作。我不知道如何重新获得它。谢谢回答
答案 0 :(得分:2)
requirements.txt
应出现在您的泊坞窗文件所在的位置
答案 1 :(得分:1)
在dockerfile中将E:/docker
替换为/tmp/
(linux目录结构形式的任何合适路径)并执行
docker build -t friendlyhello .
我的dockerfile:
FROM python:2.7-slim
WORKDIR /tmp/
ADD . /tmp/
RUN pip install -r requirements.txt
EXPOSE 80
ENV NAME World
CMD ["python", "app.py"]
答案 2 :(得分:0)
一个想法是指定requirements.txt的完整路径并确保它存在
答案 3 :(得分:0)
您必须为Docker找到正确的上下文。 尝试导航到父文件夹,并使用“ docker build”的-f参数指定Dockerfile的路径:
cd ../ParentFolder
docker build -f ../ParentFolder/ChildFolder/Dockerfile -t imagename .
否则,请尝试编辑Dockerfile