2017-11-01 5 views
0

나는 도커에서 기본 이미지 (부모 이미지)를 만들려고합니다. COPY을 사용하여 일부 파일을 하위 도커 이미지로 복사하면 해당 파일이 복사되지 않습니다.도커에서 부모 이미지의 파일을 빌드 할 때 자식 이미지로 복사하는 방법이 있습니까?

상위 Dockerfile 폴더의 파일을 하위 Dockerfile에 복사하는 방법이 있습니까?

부모 Dockerfile :

FROM debian:jessie-slim 

ONBUILD RUN mkdir /app 
ONBUILD WORKDIR /app 
COPY . . 

나는 package.json라는 기본 이미지에 파일이 있습니다. 먼저 ONBUILD COPY . .을 사용하여 해당 파일을 기본 디렉토리에서 하위 이미지로 복사했습니다. 나는 COPY 아무 것도하지 않았다. 그래서 나는 그것이 ONBUILD과 관련되어 있고 그 파일들을 보지 않았다고 생각했기 때문에 그것을 제거했지만 그것도 도움이되지 못했습니다.

내 디렉토리 :

base_dir 
    Dockerfile 
    package.json 

child_dir 
    Dockerfile 
    my_app 

이 고정 표시기 파일을 구축하기위한 이미지 폴더의 구조입니다.

+1

에 출시 될 것'부모 이미지를 FROM'은 "아이"이미지에있는 모든 파일이 포함되어 있습니다 부모 이미지 아마도 당신이하려는 일을 조금 더 설명 할 수 있고, 그렇지 않은 것은 무엇일까요? – thaJeztah

+0

@thaJeztah 저는 실제로베이스 디렉토리에서 제가 만들고있는 이미지로 복사하고 싶습니다. 내가 그것을 만들려고 할 때 나는 그 파일을베이스 이미지에 복사 할 수 없다. 제발. 도움이 될 수있는 몇 가지 추가 정보를 추가했습니다. – ALH

+0

파일이 상위 이미지에 있습니다. 그러나 당신이'COPY '를 사용하기 때문에. .', 데비안 이미지의 기본 폴더 인'/'폴더가 있습니다. 당신의 자식 이미지에서 당신은'/ app'에 있고 파일은'/ package.json'에서 얻을 수 있습니다. –

답변

0

파일이 부모 이미지에 있습니다. 그러나 COPY를 사용하기 때문에. ., 거기에 부모 이미지의 폴더 작업 디렉토리입니다. /은 debian 이미지의 기본 작업 디렉토리입니다. 자녀 이미지에서

당신은 기본적으로 /app 디렉토리에있는 이미지를 빌드 할 때 파일이 /package.json