도커 이미지를 만들고 싶습니다. 이것은 내 작업 디렉토리입니다. 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
답변
- Q1 :
.dockerignore
빌드 경로에서 파일을 확인하십시오. 복사하려는 파일 또는 디렉토리가 무시 파일 목록에있을 수 있습니다! - 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