한 레이어에 여러 자산 복사


0

나는 이것을하고 싶다 :

COPY src/ public/ config-overrides.js /usr/src/app/

그러나 이것이 실제로 의미하는 어려운 방법을 배웠습니다.

COPY src/* public/* config-overrides.js /usr/src/app/

내가 원하는 것은 아닙니다.

나는 이것을 통해 해킹 할 수 .dockerignore있지만 다음과 같은 이유로 그 솔루션을 좋아하지 않습니다.

  • 새 파일이 저장소에 추가되면이 파일도 추가해야합니다 .dockerignore.
  • 내 의존성을 명시 적으로 나열하고 싶습니다. Dockerfile

단일 레이어에서 파일과 디렉토리의 명시적인 목록 (내용뿐만 아니라)을 어떻게 복사 할 수 있습니까?

나는 단순히 SOL인가?

답변:


0

저장소를 재구성 할 수 있습니다.

app
+-- src
+-- public
\-- config-overrides.js

그리고 당신은 단지

COPY app/ /usr/src/app/

또 다른 옵션은 다단계 빌드를 사용하는 것입니다.

FROM scratch as app
COPY src/ /usr/src/app/ 
COPY public/ /usr/src/app/ 
COPY config-overrides.js /usr/src/app/ 

FROM your_base
COPY --from=app /usr/src/app/ /usr/src/app/

그렇지 않으면 3 개의 별도 레이어로 유지하십시오. 추가 레이어의 추가 오버 헤드는 실제로 최소화됩니다. 레이어를 병합하려는 시간은 여러 레이어에 동일한 파일이 있고 덮어 쓰거나 이전 레이어에서 작성된 파일을 변경 / 삭제하는 경우 수십 개의 레이어를 가져 오는 경우입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.