docker[-compose] 连接内网其他容器地址
原创内容,欢迎传播,请注明出处:http://www.cnblogs.com/johnd/p/set-docker-hostname.html
因为要部署 dubbo 服务到 docker 集群,在部署时遇到一个问题,就是dubbo会去获取 /etc/hosts 下面的 hostname 对应的IP地址作为 zookeeper 注册中心注册的 IP 地址,由于 docker 容器的 IP 是 172.17.0.2, 那注册到 zookeeper 的 IP 也就是 172.17.0.2 了。
那问题就来了,172.17.0.2 是 docker 容器的 IP, 容器外面是无法访问的,我的解决方案很简单,就是更改容器的 hostname 及其映射的 IP 来使得 dubbo 可以注册宿主的 IP 地址。
我是使用 docker-compose 来启动的, 在 docker-compose.yml 中添加 environment 和 extra_hosts 两个参数即可解决:
dubbo-service-provider:image: johnd/dubbo-service-provider:latestports:- 9090:9090- 20880:20880environment:HOSTNAME: dubbo-service-providerextra_hosts:dubbo-service-provider: 192.168.0.100
然后运行 docker-compose up 命令,可以看到 dubbo 已经注册了正确的 IP 地址:
[DUBBO] Register: dubbo://192.168.0.100:20880/com.johnd.dubbo.service.api.SayHelloToJohn
如果你是用 docker run 来运行 docker 容器,也可以添加相应的命令行参数。
------------------------------------------------------------------------------------------------------------
更新:
其实可以有更简单的处理办法,就是直接使用主机网络,在docker-compose的配置文件添加 net: host 配置。
dubbo-service-provider:image: johnd/dubbo-service-provider:latest net: hostports:- 9090:9090- 20880:20880
ps:
也可以使用 links 连接外部容器
links:- zookeeper
转载于:https://www.cnblogs.com/duwei/p/6668844.html
docker[-compose] 连接内网其他容器地址相关推荐
- 基于Docker的frp内网穿透
基于Docker的frp内网穿透 内网穿透 定义 内网穿透,也即 NAT 穿透,进行 NAT 穿透是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机. U ...
- 使用frps建立内网穿透从而实现外界连接内网电脑的全教程
1. 说明 我有台服务器,但它在内网里,我需要通过ssh方式访问它,目前可以采用:向日葵等商业软件,RustDesk等开源软件.或者,<自建内网穿透服务器>. 本教程把实现上述功能的所有步 ...
- 使用XShell通过Linux跳板机连接内网服务器
说明 最近在维护一个项目,一共有两台Linux服务器,内网相连,用途不同.仅服务器A有外网地址,要求通过服务器A维护服务器B的项目. 服务器A外网地址:220.178.21.57,内网地址:192.1 ...
- 远程控制桌面,外网电脑PC手机ios安卓mac远程桌面连接内网linux和windows主机,史上最全最详细图文教程
通过开放的nat123.windows远程桌面.SSH工具,等合理的配置,实现外网远程控制内网远程桌面连接windows和,外网SSH访问内网LINUX主机的实现:在访问端,同时可以是电脑PC,也可以 ...
- 配置软路由-同时连接内网和外网
配置软路由-同时连接内网和外网 Date Created: Mar 23, 2021 9:00 AM Status: 要学习的 windows 环境 首先使用cmd命令中route print检查 网 ...
- 双网卡一个连接外网一个连接内网的处理方法
问题:笔记本上有两个网卡 无线网卡连接外网,另一个PCI-e网卡用的网线连接内网: 两个网卡连接后发现只能连接内网 不能上外网,用双网卡同时访问内外网暂时没有很完美的解决办法,因为存在路由冲突,毕竟有 ...
- 【云原生之Docker实战】使用Docker部署NPS内网穿透工具
[云原生之Docker实战]使用Docker部署NPS内网穿透工具 一.NPS介绍 二.检查本地docker环境 1.检查docker服务状态 2.检查docker配置信息 3.开启IPv4 forw ...
- 公网SSH远程连接内网Ubuntu主机【cpolar内网穿透】
SSH为建立在应用层基础上的安全协议,专为远程登录会话和其他网络服务提供安全性的协议.但在没有公网IP的环境下,只能在同个局域网下远程. 本篇教程主要实现通过内网穿透,在公网环境下SSH远程登录内网的 ...
- 黑群晖docker清理缓存_黑群晖 NAS 瞎折腾 篇一:超简单的docker设置frp内网穿透
黑群晖 NAS 瞎折腾 篇一:超简单的docker设置frp内网穿透 2020-04-15 11:32:08 25点赞 241收藏 27评论 你是AMD Yes党?还是intel和NVIDIA的忠实簇 ...
- 公网如何SSH远程连接内网服务器
公网如何SSH远程连接内网Linux服务器 文章目录 公网如何SSH远程连接内网Linux服务器 1. 注册cpolar账号 2. 安装配置cpolar内网穿透 2.1 安装客户端 2.2 进行tok ...
最新文章
- 软件设计应该遵循的基本原则有哪些?
- 文件管理(NSfilemanager)
- html 批量转换excel,Excel批量转为Html,Html转换成Excel
- vue中如何在地图中标点…
- 超越JAX-RS规范:Apache CXF搜索扩展
- spring字符串判空_字符串工具类StringUtils实现字符串是否中文、字符串分割/判空/替换/查找、是否包含乱码及字符串数组合并等常规操作...
- javaScript中的回调函数
- CellularAutomation(细胞自动机)
- Windows下安装Ruby及配置镜像源
- jclasslib 插件安装及使用
- Tableau详细安装教程【踩坑】
- Jquery点击事件触发多次解决办法
- Ubuntu 完全卸载软件常用命令
- ToC产品和ToB产品的区别
- 重定向与重定位的理解
- android 功能模块之通讯模块四
- 创新创意springboot计算机毕业设计题目300例,总有你需要用到的!
- 掌握Revit中的标高的绘制和修改学习记录
- 芯片的英文手册需要全部看吗?
- python——查找指定文件并复制到指定文件夹