빌드 단계의 레이어에서 Maven 종속성을 내 Docker Multi Stage Build에 캐시하고 싶습니다. 다음과 같이Docker 다중 스테이지 빌드 레이어에 Maven 종속성과 플러그인을 캐시하는 방법은 무엇입니까?
내 Dockerfile 보인다 :
FROM maven:3-jdk-8 as mvnbuild
RUN mkdir -p /opt/workspace
WORKDIR /opt/workspace
COPY pom.xml .
RUN mvn -B -s /usr/share/maven/ref/settings-docker.xml dependency:resolve
COPY . .
RUN mvn -B -s /usr/share/maven/ref/settings-docker.xml package
FROM openjdk:8-jre-alpine
...
```
은 내가 Docker Multi Stage Build blog post (also available on Github)에서 제공하는 예제를이 Dockerfile을 기반으로.
dependency:resolve
에 의해 한 번 다운로드 한 다음 package
에 의해 다시 사용되는 종속성을 보는 대신 빌드를 실행할 때 두 단계에서 다운로드 한 종속성을보고 있습니다.
누군가가이 기능을 사용하고 있습니까? 여기서 내가 뭘 잘못하고 있니?
가능성은 당신이 당신의 대답에 Dockerfile에서 빌드 스 니펫 (snippet)을 추가 할 수 있습니다 다음과 같이
위의 예에이 솔루션을 적용입니까? 의존성을 시도해 보았습니다 : resolve-plugins, dependency : go-offline 및 dependency : 해결하지만 모든 빌드에서 여전히 종속성 (플러그인이 아님) 다운로드를보고 있습니다. – Trastle
회사 정책으로 인해 회사의 정보를 공유 할 수 없습니다. 따라서 나는 샘플 https://github.com/dockersamples/atsea-sample-shop-app만을 사용하여 검사하고 있습니다. 두 단계에서 다시 다운로드 한 라이브러리 (플러그인이 아님)를 알려주십시오. – Apolozeus
고마워, 다시 보니 플러그인 일 뿐이야. 캐쉬 된 플러그인 중 일부가 jitpack.io에서 벗어났습니다. – Trastle