Docker COPY失败,没有这样的文件或目录

时间:2019-10-27 17:20:07

标签: docker copy

我的Dockerfile有问题。我正在使用如下命令:COPY main.py /volume1/Files/ITenso-monitor

构建Dockerfile时,出现以下错误:COPY failed: stat /volume1/@docker/tmp/docker-builder543642662/main.py: no such file or directory

当我运行此命令时:

RUN cd /volume1/Bestanden/ITenso-monitor/ && pwd \
 && ls

我得到这个输出:

__pycache__
main.py
src

整个Dockerfile

FROM debian
FROM python:3.7
RUN apt-get update \
 && apt-get install -y git \
 && apt-get install -y openssh-server \
 && apt-get install -y python3 \
 && apt-get install -y python3-pip \
 && pip3 install requests
RUN git config --global user.name "username" && \
    git config --global user.password "password" && \
    git clone https://Username:Token@gitlab.com/group/repo.git /volume1/Bestanden/ITenso-monitor/
RUN cd /volume1/Bestanden/ITenso-monitor/ && pwd \
 && ls
COPY main.py /volume1/Bestanden/ITenso-monitor/
CMD ["python3", "main.py"]

是什么原因导致此问题...因为main.py存在于目录中。

我希望有人能够帮助我。预先感谢!

1 个答案:

答案 0 :(得分:2)

Dockerfile上下文是您的问题。您提供给dockerfile的每个命令都在其上下文中执行,这意味着当前路径。因此,如果您复制文件,则Dockerfile希望该文件位于当前路径或指定的子目录中。

以您的COPY行为例。

COPY main.py /volume1/Bestanden/ITenso-monitor/

Dockefile期望路径位于

./Dockerfile
./main.py

这里是文档https://docs.docker.com/engine/reference/commandline/build/

的链接