2017-09-20 7 views
-1

내가 간단한 DockerfileDockerfile의 COPY 파일이

FROM php:7.1-apache 
LABEL maintainer="[email protected]" 
COPY MyAgsourceAPI /var/www/MyAgsourceAPI 
COPY MyAgsourceAPI/conf/php/drivers /usr/lib/apache2/modules/ 
COPY MyAgSourceAPI/conf/php/apache2/php.ini /usr/local/etc/php/ 

빌드 명령을 사용하여이 실패

Step 5/5 : COPY MyAgSourceAPI/conf/php/apache2/php.ini /usr/local/etc/php/ 
COPY failed: stat /var/lib/docker/tmp/docker-builder231753667/MyAgSourceAPI/conf/php/apache2/php.ini: no such file or directory 

다른 모든 'COPY :

docker build -t rkevinburton/myagsourceapi . 

은 마지막 줄은 오류를 반환 '줄은 오류없이 실행됩니다. 이 의미가 무엇인지 또는 Dockerfile이 어떻게 변경되어야하는지 명확하지 않습니다. 나는이 COPY를 php 용 도커 허브의 문서에서 대부분 취하고있다. 이것은/usr/local/etc/php의 읽기 전용 속성 때문일 수 있습니다. 그러나 나는 그 오류에서 알 수 없다. 아이디어?

+0

로컬 MyAgSourceAPI/conf/php/apache2/php.ini 파일이 존재하지 않는다고합니다. 'file MyAgSourceAPI/conf/php/apache2/php.ini'가 어떤 것을 리턴하고 파일을 읽을 수 있는지 확인할 수 있습니까? –

+0

필자는 포맷팅 권한을 얻을 수 없지만 PowerShell 윈도우에서 'ls -l C : \ Users \ rburton \ code \ MyAgSourceAPI \ conf \ php \ apache2 \ php.ini'와 같은 형식으로 'Mode'of ' a ---- '.이 파일의 Windows 속성을 살펴 봤는데'읽기 전용 '플래그가 선택되어 있지 않습니다. –

+0

'php.ini' 파일이 모두 더 낮은 지 확인하십시오. 리눅스와 컨테이너는 파일과 폴더의 경우 대소 문자를 구별하며 powershell은 그렇지 않습니다. –

답변

0

(하나의 파일) 내용이 작동 복사

COPY MyAgsourceAPI/conf/php/apache2 /usr/local/etc/php/ 

에 라인을 변경. 비록 내가 아직도 하나의 파일을 복사하는 방법을 잘 모르겠지만.

-1

나를 위해이 문제를 해결 한 이유는 내가 복사하려고하는 모든 파일이 동일한 폴더 인 내 Dockerfile (위의 폴더가 아닌)과 동일한 폴더에 있어야한다는 것입니다. 나는 도커 빌드 명령을 실행합니다. 폴더 외부에 배치 한 경우 설명 된대로 COPY가 실패합니다.

+0

그렇지 않습니다. 복사는 문제없이 하위 디렉토리와 함께 작동합니다. –