首页 文章资讯内容详情

SpringCloud多网卡配置(转)

2026-06-01 4 花语

本文内容纲要:

https://blog.csdn.net/lixiang987654321/article/details/88134324

docker部署过程中遇到如下问题:

(1)docker容器创建之后,进入容器会发现容器有多个ip,一个是10.255段的一个是172段的,一个自定义集群的网络10.0.2段的

(2)注册到eureka注册服务中的地址为10.255段的地址

(3)通过网关访问注册到eureka中的服务时候获取到的ip是10.255段网址,是实际上各个服务监听的ip为10.0.2段的端口

(4)网关无法连接到10.255段的服务的端口(可以查看10.0.2段的端口:nc-zv10.0.2.847000)

引起问题的原因:

(1)docker部署服务的时候无法指定容器使用对应网段

(2)服务注册到注册服务的时候使用指定网段注册到注册服务(10.0.2自建网络的网段)

(3)服务运行的时候监听多网卡机器的所有网段

解决方式:

(1)docker运行的容器使用指定网卡(但是实际智能指定ip,而容器运行的ip是随机分配的,当然也可以指定,不过比较复杂)--可行,比较啰嗦,运维所有配置

(2)服务注册的时候使用指定网卡注册到注册服务---可行

(3)springcloud配置的端口,监听ip为0.0.0.0--需要修改源码,不可行

(4)eureka注册的时候使用主机名而不是使用ip--可行但只能部署一个(同一个网络多个hostname相同?有问题!)

方式一

方式二

方式三

忽略网卡(正则)

指定ip(正则)

以下以(2)中解决方式,在注册的时候选择固定的网卡注册注册中心,忽略哪些无法访问的网卡即可

(1)了解springcloud网卡配置

spring-cloud-commons项目为SpringCloud生态提供了顶层的抽象和基础设施的实现。

网络这个最基本的基础设施也是在这里有对应的实现:InetUtils、InetUtilsProperties和UtilAutoConfiguration提供了网络配置相关的功能。

spring.cloud.inetutils.default-hostname

spring.cloud.inetutils.default-ip-address

spring.cloud.inetutils.ignored-interfaces

spring.cloud.inetutils.preferred-networks

spring.cloud.inetutils.timeout-seconds

spring.cloud.inetutils.use-only-site-local-interfaces

需要解释一下的是ignored-interfaces和preferred-networks这两个配置。这两个配置决定了springcloud应用在启动的时候所使用的网卡和IP地址。ignored-interfaces接收一个正则表达式数组,配置名字虽然是ignored-interfaces,忽略的网卡,但是因为其接收的是正则表达式,所以我们可以任意的选择和反选本机的网卡。preferred-networks是指倾向于使用的IP地址,接收一个正则表达式数组,用于选择SpringCloud应用使用的本机的IP地址。通过这两个配置,我们可以任意指定SpringCloud应用使用的网卡和IP地址。

(2)参数配置

方式一:通过运行环境变量配置

java-jarxxx.jar--spring.cloud.inetutils.ignored-interfaces=

方式二:通过docker传递环境变量配置

--envspring.cloud.inetutils.ignored-interfaces=eth0

通过application.yml或properties配置文件配置

spring.cloud.inetutils.ignored-interfaces=

spring:

cloud:

inetutils:

ignored-interfaces[0]

docker服务配置实例:

注意

(1)重启机器后mycat不能自己开机启动

(2)重启后需要重新配置svn监听目录

apt-get-yinstallnetcat-openbsd

sudoapt-getinstallnetcat

启动服务

(1)注册中心

dys_register_server:提供所有服务模块的统一注册

(2)配置中心

dys_config_center:提供所有服务的统一配置管理

(3)授权中心

dys_auth_center:提供平台统一的权限校验

(4)系统网关

dys_gateway_server:提供外网访问系统内网的唯一入口,以及统一鉴权,系统流量控制

(5)区域服务

dys_region_server:提供区域代码查询服务

(6)人脸后台

dys_face_server:提供人脸比对和人脸抓拍数据等管理

(7)文件上传

dys_file_server:提供人脸上传图片存储服务

(8)系统校时

dys_time_server:提供系统所有模块的时间同步服务

(9)短信服务

dys_sms_server:提供黑名单比中手机短信发送服务

(10)邮件服务

dys_email_server:提供黑名单比中电子邮件发送服务

(11)人脸前端

web_face:提供人脸系统展示资源管理服务

dockerservicermeureka1

dockerservicermeureka2

dockerservicermconfig

dockerservicermauth

dockerservicermgateway

dockerservicermregion

dockerservicermface

dockerservicermfile

dockerservicermtime

dockerservicermemail

dockerservicermweb_face

dockerservicermdoor

dockerservicermsmart

dockerservicermtvwall

dockerservicermwebsocket

dockerservicermwifi

dockerservicermzfy

dockerservicermzipkin

关于网卡设置

忽略指定网卡或符合正则表达式的网卡

--envspring.cloud.inetutils.ignored-interfaces[0]=^eth0\

优先使用满足指定名或符合正则表达式的网卡

--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\

注册服务1:

dockerservicecreate--with-registry-auth\

--modereplicated\

--replicas1\

--nameeureka1\

--networkspringcloud\

--publish7002:7002\

--envspring.profiles.active=eureka1\

--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\

images.dondown.com:5000/dys_register_server:latest

注册服务2:

dockerservicecreate--with-registry-auth\

--modereplicated\

--replicas1\

--nameeureka2\

--networkspringcloud\

--publish7003:7003\

--envspring.profiles.active=eureka2\

--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\

images.dondown.com:5000/dys_register_server:latest

配置中心:

dockerservicecreate--with-registry-auth\

--modereplicated\

--replicas1\

--nameconfig\

--networkspringcloud\

--publish7000:7000\

--envspring.profiles.active=subversion\

--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\

images.dondown.com:5000/dys_config_center:latest

授权中心:

dockerservicecreate--with-registry-auth\

--modereplicated\

--replicas1\

--nameauth\

--networkspringcloud\

--publish7006:7006\

--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\

images.dondown.com:5000/dys_auth_center:latest

系统网关:

dockerservicecreate--with-registry-auth\

--modereplicated\

--replicas1\

--namegateway\

--networkspringcloud\

--publish80:80\

--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\

images.dondown.com:5000/dys_gateway_server:latest

dockernodeupdate--label-addgateway=yesdocker113

dockerservicecreate--with-registry-auth\

--modereplicated\

--replicas1\

--namegateway\

--networkspringcloud\

--publish80:80\

--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\

--constraintnode.labels.gateway==yes\

images.dondown.com:5000/dys_gateway_server:latest

区域服务:

dockerservicecreate--with-registry-auth\

--modereplicated\

--replicas1\

--nameregion\

--networkspringcloud\

--publish7004:7004\

--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\

images.dondown.com:5000/dys_region_server:latest

人脸后台:

dockerservicecreate--with-registry-auth\

--modereplicated\

--replicas1\

--nameface\

--networkspringcloud\

--publish7012:7012\

--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\

images.dondown.com:5000/dys_face_server:latest

文件管理服务:

dockerservicecreate--with-registry-auth\

--modereplicated\

--replicas1\

--namefile\

--networkspringcloud\

--publish7016:7016\

--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\

--constraintnode.labels.type==file\

images.dondown.com:5000/dys_file_server:latest

平台校时服务:

dockerservicecreate--with-registry-auth\

--modereplicated\

--replicas1\

--nametime\

--networkspringcloud\

--publish7013:7013\

--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\

images.dondown.com:5000/dys_time_server:latest

短信服务(智能部署在windows):

邮件服务:

dockerservicecreate--with-registry-auth\

--modereplicated\

--replicas1\

--nameemail\

--networkspringcloud\

--publish7011:7011\

--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\

images.dondown.com:5000/dys_email_server:latest

人脸前端资源服务:

dockerservicecreate--with-registry-auth\

--modereplicated\

--replicas1\

--nameweb_face\

--networkspringcloud\

--publish8080:8080\

--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\

images.dondown.com:5000/web_face:latest

车辆大数据服务:

dockerservicecreate--with-registry-auth\

--modereplicated\

--replicas1\

--namecar\

--networkspringcloud\

--publish7007:7007\

--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\

images.dondown.com:5000/dys_car_server:latest

门禁+视频服务:

dockerservicecreate--with-registry-auth\

--modereplicated\

--replicas1\

--namedoor\

--networkspringcloud\

--publish7014:7014\

--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\

images.dondown.com:5000/dys_door_server:latest

智能分析服务:

dockerservicecreate--with-registry-auth\

--modereplicated\

--replicas1\

--namesmart\

--networkspringcloud\

--publish7008:7008\

--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\

images.dondown.com:5000/dys_smart_server:latest

电视墙服务:

dockerservicecreate--with-registry-auth\

--modereplicated\

--replicas1\

--nametvwall\

--networkspringcloud\

--publish7009:7009\

--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\

images.dondown.com:5000/dys_tvwall_server:latest

消息推送服务:

dockerservicecreate--with-registry-auth\

--modereplicated\

--replicas1\

--namewebsocket\

--networkspringcloud\

--publish7019:7019\

--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\

images.dondown.com:5000/dys_websoket_server:latest

电子围栏服务:

dockerservicecreate--with-registry-auth\

--modereplicated\

--replicas1\

--namewifi\

--networkspringcloud\

--publish7015:7015\

--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\

images.dondown.com:5000/dys_wifi_server:latest

移动巡防服务:

dockerservicecreate--with-registry-auth\

--modereplicated\

--replicas1\

--namezfy\

--networkspringcloud\

--publish7017:7017\

--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\

images.dondown.com:5000/dys_zfy_server:latest

链路跟踪服务:

dockerservicecreate--with-registry-auth\

--modereplicated\

--replicas1\

--namezipkin\

--networkspringcloud\

--publish7001:7001\

--envspring.cloud.inetutils.preferred-networks[0]=^10\.0\

images.dondown.com:5000/dys_zipkin_server:latest

————————————————

版权声明:本文为CSDN博主「贝壳里的沙」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/lixiang987654321/article/details/88134324

本文内容总结:

原文链接:https://www.cnblogs.com/xiaohanlin/p/11593661.html