Невозможно создать изображение докера для COPY не удалось: ошибка stat/var/lib/docker/tmp/docker-builder

Я хочу создать образ докера. Это мой рабочий каталог: Dockerfile.in test.json test.py

И это мой файл Docker:

COPY ./test.json /home/test.json
COPY ./test.py /home/test.py

RUN python test.py

Когда я запускаю эту команду: docker build -f Dockerfile.in -t 637268723/test:1.0 .

Это дает мне эту ошибку:

`Step 1/5 : COPY ./test.json /home/test.json
 ---> Using cache
 ---> 6774cd225d60
 Step 2/5 : COPY ./test.py /home/test.py
 COPY failed: stat /var/lib/docker/tmp/docker-builder428014112/test.py: 
 no such file or directory`

Кто-нибудь может мне помочь?

Ответ 1

Вы должны поместить эти файлы в один каталог с Dockerfile.

Ответ 2

Проверьте, есть .dockerignore файл .dockerignore, если да, добавьте:

!mydir/test.json
!mydir/test.py

Ответ 3

Удаление ./ из исходного пути должно решить вашу проблему:

 COPY test.json /home/test.json
 COPY test.py /home/test.py

Ответ 4

В вашем случае удаление./должно решить проблему. У меня был еще один случай, когда я использовал каталог из родительского каталога, а docker мог получать доступ только к файлам, находящимся ниже каталога, где присутствует Dockerfile так что если у меня есть структура каталогов /root/dir и Dockerfile/root/dir/Dockerfile

Я не могу скопировать, сделайте следующее

COPY root/src /opt/src

Ответ 5

При использовании Docker создавать файлы, публиковать, публиковать в obj/Docker/Publish. Когда я скопировал туда свои файлы и указал свой Dockerfile на этот каталог (как сгенерированный), он работает…

Ответ 6

Это может помочь кому-то еще сталкивающемуся с подобной проблемой.

Вместо того, чтобы помещать файл в тот же каталог, что и Dockerfile, создайте dir, поместите файл для копирования и попробуйте.

COPY mydir/test.json /home/test.json
COPY mydir/test.json /home/test.json

Ответ 7

Я тоже столкнулся с тем же, я переместил свой файл докера в корень проекта. тогда это сработало

Ответ 8

Вот причина, по которой это происходит, т.е. ваш локальный каталог в хост-ОС, где вы запускаете докер, должен иметь файл, иначе вы получите эту ошибку

Одним из решений является использование RUN cp <src> <dst> вместо COPY <src> <dst>

затем запустите команду, она работает!

Ответ 9

 <plugin>
    <groupId>io.fabric8</groupId>

    <artifactId>docker-maven-plugin</artifactId>
    <configuration>
      <images>
        <image>
          <name>imagenam</name>
          <alias>dockerfile</alias>
          <build>
            <!-- filter>@</filter-->
            <dockerFileDir>dockerfile loaction</dockerFileDir>
            <tags>
            <tag>latest</tag>
            <tag>0.0.1</tag>
            </tags>
          </build>
          <run>
            <ports>
              <port>8080:8080</port>
            </ports>
          </run>
        </image>
      </images>
    </configuration>
  </plugin>