问题描述
为什么使用 - 构建时 Docker 镜像构建失败?
主机详细信息
- docker desktop community 2.1.0.5 for Windows
- Windows 10
Dockerfile:
FROM ubuntu:latest
MAINTAINER "[email protected]"
RUN apt-get update \
&& apt-get install -y python3-pip python3-dev \
&& cd /usr/local/bin \
&& ln -s /usr/bin/python3 python \
&& pip3 install --upgrade pip
workdir /app
copY . /app
copY requirements.txt /app/requirements.txt
RUN pip3 --no-cache-dir install -r requirements.txt
EXPOSE 5000
CMD ["python3","my_service.py","--input-path= /input.csv","--output-path=/output.csv"]
文件夹结构
-Root
-Application.py
-Dockerfile
-requirements.txt
命令
- Failing : docker build - < Dockerfile
消息:错误:无法打开需求文件:[Errno 2] 没有这样的 文件或目录:'requirements.txt'
- Successful: docker build .
解决方法
跑步时
docker build - < Dockerfile
它只将 Dockerfile
发送到 Docker 守护进程,但不发送其他文件。当您告诉 Docker COPY
一个文件到镜像中时,您实际上并未将文件发送给它。这与在 .dockerignore
文件中包含源树中的所有内容非常相似。
通常,您会将当前目录作为上下文目录发送给 Docker:
docker build . # knows to look for Dockerfile by default