gpt4 book ai didi

spring-boot - 带有两个jar文件的Docker容器,按需运行而不是作为入口点

转载 作者:行者123 更新时间:2023-12-02 11:51:56 24 4
gpt4 key购买 nike

在我的用例中,我想在容器中有两个jar文件。在典型的docker镜像中,我看到一个入口点,该入口点基本上启动了jar文件。就我而言,直到容器在K8s服务中使用时,我才知道要启动哪个程序。在我的示例中,我有一个应用DDL的jar文件,第二个Jar文件是我的应用程序。我希望k8s首先部署我的DDL应用程序,并在完成后将其部署我的spring boot应用程序(从另一个jar,但从同一容器)。在那里,我无法为容器提供入口点,而是需要使用yaml文件中的命令和参数来运行特定的jar文件。在我遇到的所有示例中,我都看到了一个用于启动Java进程的入口点。

这里与此处引用的帖子的区别在于-我想让该容器具有两个jar文件,当我通过k8s加载该容器时,我想从命令提示符下决定运行哪个程序。我正在探索的一个选项是拥有一个经过参数设置的Shell脚本,因此我可以将jar名称作为参数传递,并且 shell 将运行java -jar。找到东西后我会在这里更新

解决方案更新
在docker文件中添加两个jar,并具有使用参数的Shell脚本。使用以下示例从K8s yaml文件调用正确的jar文件

规格:容器:
-图片:URL
imagePullPolicy:始终名称:image-name
命令:[“/ bin / sh”]
args:[“-c”,“/ home / md / javaCommand.sh jarName.jar”]
端口:-containerPort:8080
名称:http

最佳答案

Docker镜像启动时不必运行Java jar,而必须运行某些程序。

您可以简单地使它成为bash脚本,它将做出这些决定并启动您喜欢的jar

关于spring-boot - 带有两个jar文件的Docker容器,按需运行而不是作为入口点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58226471/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com