在Docker多阶段构建的构建步骤中包含.git文件夹是否存在安全风险?

时间:2019-05-23 15:16:22

标签: git docker

在Docker多阶段构建的构建步骤中包含.git文件夹是否存在安全风险?

以举例说明。我们使用Java的maven构建工具进行了一个编译步骤,该工具读取git信息,例如标签和提交。这要求编译步骤可以访问.git文件夹。然后,将生成的伪像复制到最终图像。参见:

FROM maven:3.5.4 as build
COPY $PWD /cbioportal
WORKDIR /cbioportal
RUN mvn -DskipTests clean install

FROM openjdk:8-jre
RUN mkdir -p /cbioportal
COPY --from=build /cbioportal/cbioportal*.war /app.war
COPY --from=build /cbioportal/webapp-runner.jar /webapp-runner.jar

如果我们公开共享结果图像。有什么方法可以获取有关创建图像的原始.git文件夹的信息?

1 个答案:

答案 0 :(得分:1)

.git将被缓存在计算机上,该计算机将构建映像,但不会包含在最终映像中,最终映像仅将3层添加到openkdk层中:   -带有/ cbioportal目录的一层   -从构建中复制战争文件的一层   -带有webapp-runner.jar的一层

使用docker inspect,您可以列出两个图像的层并进行比较...