如何在docker中公开${PORT} spring boot应用程序随机端口?

Thi*_*mal 5 port docker spring-boot

如何${PORT}在 中公开 Spring Boot 应用程序docker

Spring Boot 应用程序在随机端口上启动,我必须在 docker 中公开相同的端口。

是否可以?

Adi*_*iii 1

正如评论中提到的,最好在应用程序端有一个静态端口,否则映射精确的端口将很困难。

\n

如何为 Spring Boot 应用程序配置端口

\n

另一种选择是使用主机网络,因此您将能够使用容器端口访问应用程序,但此选项仅适用于 Linux。

\n
\n

如果容器使用主机网络模式,则该容器\xe2\x80\x99s网络堆栈不会与Docker主机隔离(容器共享主机\xe2\x80\x99s网络命名空间),并且容器不会获取分配了自己的IP地址。例如,如果您运行绑定到端口 80 的容器并且使用主机网络,则 容器\xe2\x80\x99s 应用程序可在主机\xe2\x80\x99s IP 地址 上的端口 80 上使用

\n
\n

docker-主机-网络

\n
docker run -it --net host --rm my_app\n\n
Run Code Online (Sandbox Code Playgroud)\n

假设您的应用程序正在某个随机端口上运行8087,那么您将能够使用 http://localhost:8087 访问该应用程序,因为--net host

\n