如何告诉 quarkus 从随机自由端口开始?以及如何读取分配的端口号?
How to tell quarkus to start with a random free port? And how to read assigned port number?
Quarkus 有没有办法告诉它从一个随机但免费的 http 端口开始,应用程序如何在内部读出这个端口号?
在即将推出的命令模式支持 (https://github.com/quarkusio/quarkus/pull/7681) 的上下文中,这个问题可能更有意义。实际上,我正在尝试编写一个基于 Quarkus 的 UI 应用程序。步骤应该是:
1. 使用一个免费的随机 http 端口启动 Quarkus
2.读出port-number,打开浏览器window(在localhost:random-port下打开index.html)
作为解决方法,我可以随机选择一个端口号(它可能是免费的,而且概率很高),将其设置为系统 属性 以强制 Quarkus 使用它。
谢谢,
丹尼尔
这超级简单:
- 只需将下一行放入 application.properties:
quarkus.http.port=0
- 在您想要获取端口的地方,使用 DI 获取此配置的值 属性(如果需要,您也可以使用
String
而不是 Integer
):
@ConfigProperty(name = "quarkus.http.port")
Integer assignedPort;
我会把服务放在一个容器里,然后你会用-P
Docker 文件
FROM somejavaimage
EXPOSE 8080 # some port
COPY . /app # copy some code
# TODO: Build some code
RUN ... # some java process
CLI
docker build -t . quarkus_image
docker run --rm -P quarkus_image # forwards a random port on host to container's 8080
trying to write a UI application based on Quarkus
为了可扩展性,我会在 Quarkus 中编写 API,然后在单独的 Web 服务器容器(如 Nginx 托管的 Vuejs)中编写前端 UI
Quarkus 有没有办法告诉它从一个随机但免费的 http 端口开始,应用程序如何在内部读出这个端口号? 在即将推出的命令模式支持 (https://github.com/quarkusio/quarkus/pull/7681) 的上下文中,这个问题可能更有意义。实际上,我正在尝试编写一个基于 Quarkus 的 UI 应用程序。步骤应该是: 1. 使用一个免费的随机 http 端口启动 Quarkus 2.读出port-number,打开浏览器window(在localhost:random-port下打开index.html)
作为解决方法,我可以随机选择一个端口号(它可能是免费的,而且概率很高),将其设置为系统 属性 以强制 Quarkus 使用它。
谢谢, 丹尼尔
这超级简单:
- 只需将下一行放入 application.properties:
quarkus.http.port=0
- 在您想要获取端口的地方,使用 DI 获取此配置的值 属性(如果需要,您也可以使用
String
而不是Integer
):
@ConfigProperty(name = "quarkus.http.port")
Integer assignedPort;
我会把服务放在一个容器里,然后你会用-P
Docker 文件
FROM somejavaimage
EXPOSE 8080 # some port
COPY . /app # copy some code
# TODO: Build some code
RUN ... # some java process
CLI
docker build -t . quarkus_image
docker run --rm -P quarkus_image # forwards a random port on host to container's 8080
trying to write a UI application based on Quarkus
为了可扩展性,我会在 Quarkus 中编写 API,然后在单独的 Web 服务器容器(如 Nginx 托管的 Vuejs)中编写前端 UI