我们计划在运行相同应用的同一个VM上部署多个docker镜像。据我所知,我们需要在docker容器中公开webapp端口。但是如果我们计划使用"随机" spring boot中的服务器端口(使用server.port = 0),我们如何在运行时公开该随机端口?
- = - = 第二个问题是,spring boot app是否选择了主机VM或docker容器空间中可用的随机端口?
答案 0 :(得分:1)
Spring-boot在运行时分配端口,而不是在构建时分配端口。这意味着,弹出启动选择的端口将无法在本机启动应用程序或在docker容器中启用。
回答第二个问题是Docker选择了Docker Container中的端口。因此,几乎所有端口都可用,而不是OS使用的端口。
组合这两个语句时,除非您有任何特定限制,否则应手动将端口指定为spring-boot应用程序并在docker run
执行时公开它?