rancher上微服务环境中,docker的一个网络问题,请大神帮忙看一下

播种真理的码农 2018-06-03 08:54:36
我先描述一下使用环境,然后是问题。
使用环境描述:
用的是低版本rancher管理docker,搭建springcloud微服务系统,之前容器镜像使用的是docker的bridge模式。
但是由于低版本rancher出现了一个dns的问题,在某些宿主机上的容器中无法得到rancher的地址即http://rancher-medata.
网上查说是rancher升级版本就可以解决这个问题,但是由于目前这个平台管理的主机比较多,不能升级。
所以,我就尝试将容器的网络模式改为host模式,这样使容器直接使用当前宿主机ip,绑定服务来使用。
问题描述:
在之前容器镜像使用bridge模式的时候,镜像服务启动起来使用容器中自己分配的ip,netstat监听的端口形式是,...:9001,或者*:9001.这样用宿主机ip登陆网站时,直接转发到9001端口,走docker0就可以使用了。
但是当使用host网络模式的时候,我在容器中使用的宿主机的ip去启动springcloud服务。但是无论我如何修改微服务的ip,hostname,netstat发现监听端口的形式都是,127.0.0.1:9001.服务总是自动绑定到127.0.0.1上,这样我用宿主机的ip登陆服务,就无法获取到了,只有在本机走127.0.0.1才行。
这就是问题所在。
希望大神帮忙看下,如何让容器在host模式下,启动的微服务也绑定到....:9001,或者直接绑定到当前宿主机ip ,xxx.xxx.xxx.xxx:9001.
或者通过iptables配置,转发宿主机ip的请求到127.0.0.1地址上,这样可以使用么。因为没有尝试过,还劳烦大神们帮忙看一下。
问题就是这样,如果描述的不够清楚,请留言。谢谢
...全文
1127 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

1,163

社区成员

发帖
与我相关
我的任务
社区描述
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux 机器上,也可以实现虚拟化。
社区管理员
  • Docker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧