我的 docker 图像中复制文件的不同 SHA1(来自 Maven Build)

Different SHA1 for copied files in my docker image (from Maven Build)

我目前正在使用 Docker 文件为我的项目构建一个 Docker 图像。在其中,我不得不复制项目中库加载的一些文件(二进制机器学习模型)(我尝试了 COPY 和 ADD 命令),似乎库正在寻找模型文件的 sha1 来验证其完整性。

然而,当我在 运行ning docker 容器中检查此文件的 sha1 时,它与原始文件(在构建图像的机器上)的 sha1 不同。

我检查了 Docker 图像中的其他添加文件(脚本等...),所有 sha1 都不一样。

我们尝试在不同的 OS 上构建图像,尝试在 docker 图像中设置系统区域设置(我想到了一些关于编码的事情......)但没有任何效果。这是 Docker 的“正常”行为吗?

谢谢

编辑:Docker文件是 运行 由 Spotify Maven 插件 (Java)

终于找到问题所在了。它不是 docker 也不是 Spotify Maven 插件,而是构建项目时过滤的 Maven 资源。我不知道它到底在做什么,但我的二进制文件在这一步之后被修改了。为这些文件添加了排除项,现在一切正常。

参考代码:

<plugin>
    <artifactId>maven-resources-plugin</artifactId>
    <version>3.1.0</version>
    <executions>
        <execution>
            <id>prepare-dockerfile</id>
            <phase>validate</phase>
            <goals>
                <goal>copy-resources</goal>
            </goals>
            <configuration>
                <outputDirectory>${project.build.directory}/docker-ready</outputDirectory>
                <resources>
                    <resource>
                        <directory>docker</directory>
                        <filtering>true</filtering>
                    </resource>
                </resources>
                <nonFilteredFileExtensions>
                    <nonFilteredFileExtension>p12</nonFilteredFileExtension>
                    <nonFilteredFileExtension>crt</nonFilteredFileExtension>
                    <nonFilteredFileExtension>pem</nonFilteredFileExtension>
                    <nonFilteredFileExtension>bin</nonFilteredFileExtension>
                </nonFilteredFileExtensions>
            </configuration>
        </execution>
    </executions>
</plugin>