本人使用springcloud+docker的结构搭建微服务,现在遇到的问题是:
docker宿主机使用-P命令随机端口绑定的docker指定端口(比如每个容器都暴露8080端口),
但是容器中无法知道宿主机的ip和映射端口,即eureka上的实例不知道暴露给外部的什么访问IP和端口(宿主机IP和宿主机port)。
请教各位大神,此问题该如何解决,谢谢!
【docker显示宿主机的随机端口32773映射了容器8080端口】

【Eureka显示是容器端口8080,而非宿主机映射端口】

你要使用Docker来搭建微服务,让微服务的各个组件都在容器的网络中互相通信,建议直接使用docker-compose文件来组装所有的组件,这样你就不需要关注各个组件之间的通信问题了,只需要最后把外部访问的端口publish出来即可。