同福

添加Rancher/Server所在的宿主机到主机列表

介绍

介绍

Rancher/Server是管理Docker的好工具,一般情况下我们只有一台服务器,福哥在把rancher/server所在的宿主机添加到主机列表的时候遇到了问题

经过一系列的研究,终于解决了

教程

现象

正常情况下我们复制 添加主机 第5步的代码到Docker服务器上运行一下就OK了

但是,如果你添加的Docker服务器就是rancher/server所在的服务器,就会发现如下错误

ERROR: http://192.168.1.169:8080/v1 is not accessible (Failed to connect to 192.168.1.169 port 8080: No route to host)

原因

这是因为这段命令的意思建立一个新的容器作为rancher/agent,然后通过这个rancher/agent去连接rancher/server的8080端口

但是我们如果没有把rancher/server的8080端口给映射出来(别问福哥为什么不映射8080端口),rancher/agent肯定是无法访问的

解决

我们只要增加一条规则给rancher/agent访问授权就可以了

麻烦的是,第5步提供的命令没有指定rancher/agent的IP地址,没有IP地址怎么授权访问呢?

所以福哥先改造了一下第5步的命令,增加了 --net xxx --ip xxx.xxx.xxx.xxx 参数,为rancher/agent设置了一个IP地址

然后使用下面的命令授权rancher/agent的IP地址可以访问rancher/server的8080端口就可以了

192.168.1.169是rancher/server的IP地址

192.168.1.170是rancher/agent的IP地址

iptables -t nat -I DOCKER -s 192.168.1.170 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.1.169:8080

这下就可以成功提交宿主机到rancher/server里了!

记住一句话:有问题找福哥!