首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在单个码头容器中运行两个服务

在单个码头容器中运行两个服务
EN

Stack Overflow用户
提问于 2020-06-21 02:44:34
回答 2查看 1.4K关注 0票数 0

尽管docker的目的是在一个容器中运行单个服务,但出于某种原因,我希望在一个容器中运行两个相互通信的服务。我有两个spring引导服务:演示和Demo2

为此,我创建了一个shell脚本来运行两个应用程序的两个jars,然后将该脚本传递给Dockerfile的入口点。

shell脚本(invoke.sh)

代码语言:javascript
运行
复制
#!/bin/bash
java -jar app.jar && java -jar app2.jar

Dockerfile

代码语言:javascript
运行
复制
FROM openjdk:8-jdk-alpine
VOLUME /tmp

COPY demo/demo/target/demo-0.0.1-SNAPSHOT.jar app.jar
COPY demo2/demo2/target/demo2-0.0.1-SNAPSHOT.jar app2.jar

COPY invoke.sh invoke.sh

ENTRYPOINT ["sh","/invoke.sh"]

形象创造是成功的。但是,当我运行该映像时,它只启动第一个spring引导应用程序。

为什么它不启动app2.jar?我该怎么做才能启动这两项申请?解决这一问题的任何帮助都将得到高度重视。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-21 10:55:09

第二个应用程序将在第一个应用程序以退出状态0退出后启动。

代码语言:javascript
运行
复制
 #!/bin/bash
java -jar app.jar && java -jar app2.jar

这保证了jar文件的顺序执行。

票数 0
EN

Stack Overflow用户

发布于 2022-08-18 09:35:21

将双符号替换为单符号:

java -jar app.jar & java -jar app2.jar

它将并行运行两个应用程序。当然,在日志中会有一点混乱。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62493872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档