使用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命令看到了如下信息:

    http://img.mukewang.com/szimg/5ae68beb0001fe6018670586.jpg 

    然后看网上说重新一下docker服务就可以重新添加进来,想了解一下问题的原因是由什么导致的。

写回答

1回答

麦兜搞IT

2018-05-02

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 等类似文章描述


0
1
in9
感谢老师
2018-05-03
共1条回复

系统学习Docker 践行DevOps理念

无论你是开发、测试还是运维,Docker都是你的必备技能。

3297 学习 · 1895 问题

查看课程