requestgetRemoteAddr(); IP获取
requestgetRemotePort(): 端口号
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。
Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
Java分为三个体系:
1Java SE(J2SE,Java2 Platform Standard Edition,标准版),
2JavaEE(J2EE,Java 2 Platform, Enterprise Edition,企业版),
3Java ME(J2ME,Java 2 Platform Micro Edition,微型版)。
在多机器上docker部署Spring Cloud发现有一个问题,即在docker容器内部,Spring Cloud eureka实例只能获取到docker内部网络的IP,如172xxx,并将其注册到注册中心,此时其他服务通过该IP在docker外部无法访问该服务。以下有两种解决方法:
启动容器时将宿主机的IP加到容器环境变量中然后在Spring Boot applicationyml 中使用该环境变量。
applicationyml
启动docker时加入 HOST 环境变量:
或使用docker-compose:
将容器以host模式运行
在Spring Cloud中配置IP访问
多网卡的情况
指定IP在某些场景下很有用,如某台服务器有eth0、eth1和eth2三块网卡,但是eth1可以被其它的服务器访问;如果Eureka Client将eth0或者eth2注册到Eureka Server上,其它微服务就无法通过这个IP调用该微服务的接口。
若在生产环境中使用,一般就不会直接使用IP注册到eureka注册中心了,由于生产环境通常由k8s集群或其他类似docker集群进行管理,因此一般会使用服务名等进行注册,由k8s再转发到具体的服务上。
参考链接:
以上就是关于容器的DNS和主机名全部的内容,包括:容器的DNS和主机名、dockerlocalhost能访问,主机ip访问不了、docker如何把自己的ip作为tomcat的访问地址等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)