微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Dockerfile RUN 修改匿名 VOLUME

如何解决Dockerfile RUN 修改匿名 VOLUME

openj9 gradle dockerfile中有这一行

VOLUME [/home/gradle/.gradle] <- Create an anonymous volume with the content of the /home/gradle/.gradle directory

我想创建一个 docker 镜像,它已经在 gradle 缓存中包含了我的 java 应用程序的依赖项
我的 Dockerfile 如下

FROM gradle:openj9
workdir /app
copY src/ ./src <- copy all the source code,build.gradle...
RUN gradle compileIntegrationJava <- This is to warmup the gradle cache

根据docker documentation on volumes,匿名卷在声明后的更改将被丢弃。
因此,RUN 步骤不会填充 gradle 缓存

我可以通过设置 ENV GRADLE_USER_HOME /app

来更改 gradle 缓存位置

我有三个问题

  1. 是否在此处设置 GRADLE_USER_HOME 来填充 gradle 缓存?
  2. 为什么人们需要将 .gradle 目录作为卷?
  3. 我了解匿名卷在声明后无法更改其内容。是否有资源可以解释为什么在某处(例如,使用 RUN 命令的引擎盖下发生了什么)? Google 没有帮我解决这个问题

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。