我自己找到了一个解决方案,这可能不是最好的解决方案,但是它适合我…
当使用“ –net = host”(主机网络)启动docker时,您将直接使用主机网络堆栈。然后,我仅将0用作spring- boot的端口,并且spring会为我随机化该端口,并且由于它使用的是主机网络堆栈,因此无法转换为其他端口(和IP)。
但是有一些缺点:
希望对您有所帮助
,我想我应该进一步阐述一下:
如果您使用docker托管spring应用程序,请不要使用随机端口!使用固定端口,因为每个容器无论如何都会获得自己的IP,因此每个服务都可以使用相同的端口。这使生活更加轻松。
如果您有面向公众的服务,那么无论如何您都将使用固定端口。
对于通过maven进行的本地启动,例如,命令行具有专用的配置文件,该配置文件使用随机端口,因此您不会出现冲突(但请注意,随机端口和服务注册周围存在或存在一些错误)