Cloudbees Docker 插件 - “?”文件夹

Cloudbees Docker Plugin - "?" Folder

我正在使用 Cloudbees Docker 插件 1.9 和 Jenkins 2.25 在 Docker 个容器中构建我的项目。

Jenkins 本身也在 运行 Docker 1.12.2 下 Ubuntu 14.4.

JENKINS_HOME 目录作为卷安装,因此每个作业、工作区等都可以在主机系统上的用户 "ubuntu" 下使用。

当 运行 使用 Cloudbees Docker 插件时,它会创建一个“?”工作区中包含不同隐藏目录(例如 .oracle_jre_usage、.m2、.gradle 等)的文件夹

谁能解释一下,Jenkins Job 的哪个部分/插件创建了这个文件夹,为什么它被命名为“?”

我在将源文件夹安装到 Maven 容器中时遇到了类似的问题 WORKDIR 用于构建。

JRE 似乎将 WORKDIR/$(id -un) 作为主目录(设置中的 ${user.home})并创建这些文件夹。
这 '?'可能是无法解析容器中主机的 UID 的结果,我用 docker run --rm -u $(id -u):$(id -g) ....
如果 .m2 将缓存持久保存在另一个主机挂载上,我能够修改 apache-maven/conf/settings.xml 以更改路径。然而,由于 this issue .oracle_jre_usage 将始终创建并记录时间戳。

解决方案可能是不将 WORKDIR 设置到工作区,这样 ${user.home} 将指向 /?/,后者将随容器一起删除。