我正在尝试缓存我的 gradle 构建当前每次下载的内容。为此,我尝试使用 -v 选项安装卷,例如-v gradle_cache:/root/.gradle
问题是每次我使用 exat 相同的命令重新运行构建时,它仍然会再次下载所有内容。我用来运行图像的完整命令是
sudo docker run --rm -v gradle_cache:/root/.gradle -v "$PWD":/home/gradle/project -w /home/gradle/project gradle:jdk8-alpine gradle jar
Run Code Online (Sandbox Code Playgroud)
我还检查了 docker 保存卷内容的目录,/var/lib/docker/volumes/gradle_cache/_data但该目录也是空的。
为了让这个工作我缺少什么?
编辑:根据请求,我使用该--scan选项重新运行命令。
还有一个不同的 gradle home:
$ 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.
Run Code Online (Sandbox Code Playgroud)
查看我正在使用的容器的Dockerfile后,我发现正确的使用选项是-v gradle_cache:/home/gradle/.gradle.
让我认为这些文件被缓存的原因/root/.gradle是 Dockerfile 还将其设置为来自以下位置的符号链接/home/gradle/.gradle:
ln -s /home/gradle/.gradle /root/.gradle
因此,在构建后检查文件系统会使文件看起来像是存储在那里。
| 归档时间: |
|
| 查看次数: |
9536 次 |
| 最近记录: |