使用docker-swarm中修改hostname,导致启动的启动的docker-service无法访问
来源:7-5 集群服务间通信之Routing Mesh
in9
2018-04-30
老师您好,如下问题:
1、我在使用途中,发现node展示的名字是基于hostname,所以我就对主机名进行了修改,想请问老师如果我的主机名都是一样的情况下,请问我还有没有其他方式可以确认当前的service是在哪个node上。
2、第一次把节点加入到swarm集群中的时候,我是关闭防火墙加入的,后来我在更换hostname的操作后,启动service我发现我访问不到我的service端口。后来了解到,docker本身是由防火墙进行转发的,那我这个问题的原因是不是就是因为我关闭了firewall了?
3、后来使用systemctl status firewalld -l命令看到了如下信息:
然后看网上说重新一下docker服务就可以重新添加进来,想了解一下问题的原因是由什么导致的。
1回答
-
1. https://docs.docker.com/engine/reference/commandline/node_inspect/#inspect-a-node 您可以使用inspect命令,查看node的详细信息,应该能区分出是哪个node
2,3,Docker的网络严重依赖iptables,所以在进行docker的操作,docker服务的启动,容器的操作时,尽量不要对firewalld进程进行stop,start,或者restart操作,可能会导致iptables的规则混乱。但是docker本身和firewalld是没有直接联系的,firewalld服务可以是停止的或者运行的状态
可以参考 https://www.jianshu.com/p/10c467600ef9 等类似文章描述
012018-05-03
相似问题