2017-12-14 8 views
1

Ich versuche, Dinge zu cachen, die meine grandle Build jedes Mal derzeit herunterladen. Dazu versuche ich ein Volume mit der Option -v wie -v gradle_cache:/root/.gradleWie können Sie Gradle im Dockker speichern?

mounten. Das Ding ist jedes Mal, wenn ich den Build mit dem Exat gleichen Befehl erneut ausführen, es noch alles wieder herunterlädt. Der vollständige Befehl, den ich um das Bild zu laufen verwenden ist

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

ich auch in dem Verzeichnis überprüft, wo Docker den Volumina Inhalt an /var/lib/docker/volumes/gradle_cache/_data spart, aber das ist auch leer.

my console log

Was bin ich diese Arbeit zu machen?

Edit: Wie ich Anfrage wiederhole ich den Befehl mit der --scan Option.

Und auch mit einem diffrent gradle Hause:

$ 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

Was passiert, wenn Sie den Befehl wie 'grdle jar --gradle-user-home/root/.gradle' ausführen? Auch wenn Sie eine neuere Gradle-Version haben, können Sie mit '--scan' laufen und den Link zu der Frage hinzufügen? – mkobit

+0

Aktualisiert die Frage mit den Informationen. – usbpc102

Antwort

0

Nachdem am Dockerfile für den Container der Suche fand ich verwende ich heraus, dass die richtige Option zu verwenden -v gradle_cache:/home/gradle/.gradle ist.

Was mich denken, dass die Dateien in /root/.gradle zwischengespeichert wurden, ist, dass die Dockerfile auch, dass von /home/gradle/.gradle als symbolischer Link einrichtet:

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

So Inspizieren des Dateisystems nach einem Build es wie das aussehen Dateien wurden dort gespeichert.

Verwandte Themen