当我构建一个dockerfile时我错了,我不知道它

时间:2018-06-07 14:21:39

标签: python docker

我在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时,它可以工作。我不知道如何重新获得它。谢谢回答

4 个答案:

答案 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