如何解决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_USER_HOME
来填充 gradle 缓存? - 为什么人们需要将
.gradle
目录作为卷? - 我了解匿名卷在声明后无法更改其内容。是否有资源可以解释为什么在某处(例如,使用 RUN 命令的引擎盖下发生了什么)? Google 没有帮我解决这个问题
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。