[python] COPY에 대한 도커 이미지를 만들 수 없습니다 : stat / var / lib / docker / tmp / docker-builder error

도커 이미지를 만들고 싶습니다. 이것은 내 작업 디렉토리입니다. Dockerfile.in test.json test.py

그리고 이것은 내 Dockerfile입니다.

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`

누구든지 나를 도울 수 있습니까?



답변

Dockerfile과 동일한 디렉토리에 해당 파일을 넣어야합니다.


답변

.dockerignore파일 이 있는지 확인하고 있다면 다음을 추가하십시오.

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


답변

  1. Q1 : .dockerignore빌드 경로에서 파일을 확인하십시오. 복사하려는 파일 또는 디렉토리가 무시 파일 목록에있을 수 있습니다!
  2. Q2 : COPY 지시문은 이미지를 빌드하는 컨텍스트를 기반으로하므로 현재 이미지를 빌드하고있는 디렉토리의 문제에 유의하십시오! 참조 : https://docs.docker.com/engine/reference/builder/#copy


답변

./소스 경로에서 제거하면 문제가 해결됩니다.

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


답변

나는 또한 똑같이 직면하고 있었고, 도커 파일을 프로젝트의 루트로 옮겼습니다. 그런 다음 작동했습니다


답변

빌드를 시작하려면 다음 명령을 사용해야했습니다.

docker build .


답변

귀하의 경우 ./를 제거하면 문제가 해결됩니다. 나는 부모 디렉토리의 디렉토리를 사용하고 있었고 docker는 Dockerfile이있는 디렉토리 아래에있는 파일에만 액세스 할 수
있으므로 디렉토리 구조가 / root / dir 및 Dockerfile / root / dir / Dockerfile 인 경우가 있습니다.

다음을 복사 할 수 없습니다.

COPY root/src /opt/src