我尝试设置eureka.instance.hostname,preferIpAddress,ipAddress,instanceId,但实例ID仍然是docker容器ID。如何将它们设置为IP地址?
eureka:
instance:
hostname: ${server.host}
preferIpAddress: true
ipAddress: ${server.host}
instanceId: ${server.host}
client:
serviceUrl:
defaultZone:
http://pitbull:j1n3v9z9j3nc@${server.remote}:8888/eureka/
答案 0 :(得分:2)
默认情况下,容器主机名是容器ID。您可以使用--hostname
命令中的docker run
标记覆盖它。
我认为这不是你问题的根源。
听起来你真正想要的是将服务配置设置为绑定到容器的localhost地址,然后是:
docker run --net=host ...
运行docker镜像(将容器直接绑定到主机网络接口/ IP)docker run --net=bridge -p 8888:8888
运行docker镜像(--net=bridge
是默认运行模式,不需要指定。)-p 8888:8888
会将端口从主机IP转发到docker容器运行时。