在 DockerFile 中动态获取 JAR 文件名

nin*_*Siv 6 jar maven docker dockerfile

我是 Docker 的新手。我正在使用 spring boot,当我们使用 maven 构建项目时,它会创建类似 app-.jar 的 jar 文件,然后我在 DockerFile 中使用 ADD 命令处理这个 jar 文件。现在如果我更改了 pom.xml 中的版本号,那么我需要手动更新 DockerFile 中的 JAR 文件名。无论如何,我可以动态获取 pom.xml 中的版本号并自动更新 DockerFile 中的 JAR 文件名?

Ayu*_*hya 0

您可以挂载创建 jar 的文件夹,而不是在 dockerfile 中复制 jar 文件。而且您无需担心文件名。

您可以使用环境变量来完成您想要的操作。您可以创建一个--env-file并将版本号保存在那里。在 dockerfile 中,引用 env 文件中声明的变量值{VERSIION}。通过遵循此过程,您可能希望在 pom 文件中使用相同的版本。为此,请看一下这个问题。

答案是通过设置 env.path 来链接环境变量,详细指南在这里