当前位置: 首页 > news >正文

docker真实IP解决

背景

在微服务的环境中使用docker部署各个应用,部分应用使用容器内的真实ip暴露出服务。会导致微服务之间调用出现网络超时,要解决这个问题需要让微服务暴露为宿主机的ip

解决

方式一

使用docker-compose的配置 network_mode: "host"

emqx-auth:container_name: "xxApp"network_mode: "host"image: imagerestart: alwaysenvironment:TZ: "Asia/Shanghai"APP_SERVICE: "gateway-v3-3.0.1-SNAPSHOT"START_COMMAND: "--spring.config.location=classpath:bootstrap.yml,/conf/base.yml,/conf/emqx-auth.yml"JAVA_OPTS: "-Xms512m -Xmx1024m"NACOS_IP: $NACOS_IPvolumes:- "/cloud/service:/cloud/service"networks:- bridge1

方式二

使用docker 创建容器时指定参数 --network host

docker run image --network host --port 8080:8080 --name xxApp -d

方式三

如果使用的是nacos做注册中心、可在各个应用内部通过配置项指定host参数

spring.cloud.nacos.discovery.ip=192.168.12.32

在使用dubbo时也可以通过下面两种方式解决

暴露服务指定host

<dubbo:protocol name="dubbo" port="20890" host="主机地址"/>

设置环境变量

# DUBBO_IP_TO_BIND = 主机地址
docker run -e DUBBO_IP_TO_BIND=30.5.97.6  -p 30.5.97.6:20881:20880 --name xxApp -d
不在docker环境直接设置系统的环境变量即可。

总结:

1、	可以通过dubbo.protocol或dubbo.provider的host属性对host进行配置,支持IP地址和域名.但此时注册到注册中心的IP地址和监听IP地址是同一个值2、	为了解决在虚拟环境或局域网内consumer无法与provider通信的问题,可以通过 环境变量 分别设置注册到注册中心的IP地址和监听IP地址,其优先级高于dubbo.protocol或dubbo.provider的host配置

官网参考:主机自定义

http://www.lryc.cn/news/167377.html

相关文章:

  • Linux 内存泄漏检测的基本原理
  • Ubuntu下Nginx配置ModSecurity详细思路及过程
  • 入职美团近三个月,闲聊几句
  • setInterval倒计时切换页面后不准
  • 信息安全三级概述
  • 深入JVM:探索Java虚拟机
  • 【计算机网络】 RTT和RTO
  • Zabbix监控组件及流程
  • Type-C协议Ver2.0(学习笔记)
  • 智慧工地:实现作业区域安全管控
  • 【Unity插件】实现多人在线游戏——Mirror插件的使用介绍
  • GeoSOS-FLUS未来土地利用变化情景模拟模型
  • IntelliJ IDEA使用_Debug操作
  • 市场的新宠:4G智能手表
  • Pytorch Advanced(一) Generative Adversarial Networks
  • Python实操如何去除EXCEL表格中的公式并保留原有的数值
  • MFC串口通信控件MSCOMM32.OCX的安装注册
  • 27.顺序表练习题目(1)(2023王道数据结构2.2.3前8题)
  • Unity VideoPlayer 指定位置开始播放
  • 美团多场景建模的探索与实践
  • 第11篇:ESP32vscode_platformio_idf框架helloworld点亮LED
  • React中的页面跳转方式详解
  • Golang代码漏洞扫描工具介绍——govulncheck
  • 第31章_瑞萨MCU零基础入门系列教程之WIFI蓝牙模块驱动实验
  • arkworks工具栈概览
  • 华为云云服务器云耀L实例评测 | 在华为云耀L实例上搭建电商店铺管理系统:一次场景体验
  • sqlserver存储过程报错:当前事务无法提交,而且无法支持写入日志文件的操作。请回滚该事务。
  • 二刷力扣--字符串
  • 如何将 OBJ 模型转换和压缩为 GLTF 以与 AWS IoT TwinMaker 配合使用
  • 零基础学前端(四)重点讲解 CSS