2016-06-24 3 views
1

/var/www에 볼륨이있는 dockerage/apache-mellon을 기반으로 한 도커 이미지를 만들려고합니다.빌드 도커 이미지 내부에 파일 복사

WORKDIR /tmp 
COPY . /tmp 
RUN ./node_modules/gulp/bin/gulp.js 
RUN cp -R /tmp/dist/ /var/www 

고정 표시기 빌드 프로세스가 어떤없이 완료 : 나는 임시 디렉토리 내부를 짓고 있어요 때 고정 표시기 컨테이너 내부에 내 웹 응용 프로그램을 구축하고 내 Dockerfile에서 다음 명령을 /var/www에 파일을 복사보다 할 오류가 발생하지만 파일이 /var/www으로 복사되지 않습니다. 빌드 중에 도커 볼륨으로 선언 된 위치로 파일을 복사하는 방법이 있습니까?

답변

1

빌드하는 동안 수행 할 수 없습니다. 볼륨은 이미지가 아닌 컨테이너와 상호 작용하는 것입니다. 컨테이너를 시작할 때 파일을 볼륨에 복사하는 엔트리 포인트 스크립트를 만들 수 있지만이 방법이 좋은 해결책이 될지 잘 모르겠다.

+0

이미지 내부 또는 내부에서 파일을 복사하면 차이가 발생합니까? 이미지 호스트? 왜냐하면 이전 솔루션에서는 이미지를 호스트에 빌드 한 후에 파일을 복사했기 때문에'RUN mkdir/var/www/[app_name]''COPY ./dist//var/www/[ app_name] /'그러나이 솔루션은별로 좋아하지 않습니다.'docker 빌드 '를 실행하기 전에 다른 빌드 단계를 수행해야하기 때문에. –

+0

차이가 없습니다. 이 이미지에서 컨테이너를 처음 실행하면 볼륨이 생성되기 때문에 파일이 거기에있게됩니다. 그러나 일단 Dockerfile에서 파일을 복사하면 볼륨을 처음 삭제하지 않으면 Dockerfile에서 파일을 복사 할 수 없습니다. – Derek