0

我可能听起来很愚蠢,我想我在问一个不正确的设计问题,但只是想知道你的观点。

我想从我的 CloudFoundry 应用程序之一启动码头容器,是否可以这样做,我想答案是否定的,因为它将是其他容器内的容器,请帮助。

真正的问题是什么:

我正在尝试对我将从我的一个云铸造应用程序调用的其他一些 api 进行存根,为此我正在使用Stubby4J,它是一个很好的 REST 模拟系统,可以启动码头容器。Jetty 它不是从我的云铸造应用程序内部开始的,因为它需要一个端口等。

我想我需要改变我的方法并将我的 stubby4j 应用程序作为一个单独的应用程序(作为 cloud Foundry 中的核心 java 应用程序)运行,它可以从任何 cloudfoundry 应用程序调用

请建议。

4

2 回答 2

1

一点也不白痴,这是一个有效的问题。

我想从我的 CloudFoundry 应用程序之一启动码头容器,是否可以这样做,

对的,这是可能的。有几个选项。

1.) 最简单的选择是将 Jetty 嵌入到您的应用程序中并将其部署为可执行 JAR 文件。CF 上的 Java 构建包将获取可执行的 JAR 文件并简单地运行它(即 java -jar )。

2.) 您可以分叉 Java 构建包并添加对 Jetty 的支持。通过这种方式,您可以部署一个 WAR 文件并将构建包暂存到 Jetty 服务器上。

3.) 您可以使用非默认构建包。我看到这里有一个 Jetty BP 。

4.) 您可以分叉和自定义 Java 构建包,甚至只是创建自己的构建包。这最终将使您能够最大程度地控制您的应用程序在 CF 上的部署方式。

Jetty 它不是从我的云铸造应用程序内部开始的,因为它需要一个端口等。

当运行 Jetty 嵌入式(或任何嵌入式)时,这是一个合法的问题。使用 WAR 文件,Java BP 将确保应用程序已部署并侦听正确的端口。如果您嵌入了服务器,您需要确保将其配置为侦听正确的端口(即运行时环境中的 $PORT)。

我想我需要改变我的方法并将我的 stubby4j 应用程序作为一个单独的应用程序(作为 cloud Foundry 中的核心 java 应用程序)运行,它可以从任何 cloudfoundry 应用程序调用

听起来您已经在考虑上面的#1。

于 2015-03-17T15:51:42.683 回答
0

我不确定这是否仍然与 OP 相关,但可以在 Docker 容器中部署 stubby4j。请参阅https://stubby4j.com/#running-in-docker并检查托管在https://hub.docker.com/r/azagniotov/stubby4j上的官方 stubby4j Docker 映像

于 2021-03-01T23:55:32.870 回答