2017-12-14 7 views
1

나는 현재 내 gradile이 다운로드 할 때마다 캐시하려고하고있다. 이를 위해 -v 옵션을 사용하여 볼륨을 마운트하려고 시도합니다. -v gradle_cache:/root/.gradle어떻게 도커 내부에 gradle을 캐시 할 수 있습니까?

동일한 명령을 실행하여 빌드를 다시 실행할 때마다 다시 모든 것을 다운로드합니다. 내가 이미지를 실행하는 데 사용하는 전체 명령은 나 또한 고정 표시기가 /var/lib/docker/volumes/gradle_cache/_data에서 볼륨의 컨텐츠를 저장하지만, 또한 비어있는 디렉토리에 확인

sudo docker run --rm -v gradle_cache:/root/.gradle -v "$PWD":/home/gradle/project -w /home/gradle/project gradle:jdk8-alpine gradle jar 

입니다. 나는이 작업을하기 위해 실종 무엇

my console log

?

편집 : 요청에 따라 --scan 옵션을 사용하여 명령을 다시 실행합니다. diffrent Gradle을 집에

또한 :

$ sudo docker run --rm -v gradle_cache:/root/.gradle -v "$PWD":/home/gradle/project -w /home/gradle/project gradle:jdk8-alpine gradle jar --gradle-user-home /root/.gradle 

FAILURE: Build failed with an exception. 

* What went wrong: 
Failed to load native library 'libnative-platform.so' for Linux amd64. 
+0

'gradle jar --gradle-user-home/root/.gradle'과 같은 명령을 실행하면 어떻게됩니까? 또한 최신 버전의 Gradle을 사용한다면'--scan'으로 실행하고 질문에 대한 링크를 추가 할 수 있습니까? – mkobit

+0

질문을 정보와 함께 업데이트했습니다. – usbpc102

답변

0

내가 사용 컨테이너에 대한 Dockerfile보고 후 내가 사용할 수있는 권리 옵션을 -v gradle_cache:/home/gradle/.gradle 것을, 발견했다.

무엇 Dockerfile도 /home/gradle/.gradle에서 심볼릭 링크로 그를 설정한다는 것이다 나 파일이 /root/.gradle에 캐시 있다고 생각했다 :

ln -s /home/gradle/.gradle /root/.gradle

빌드가가 같이 만든 후 그래서 파일 시스템을 검사 파일이 거기에 저장되었습니다.