首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker swarm容器无法连接到外部

Docker swarm容器无法连接到外部
EN

Stack Overflow用户
提问于 2019-09-04 02:02:52
回答 1查看 285关注 0票数 0

我有一个小的有三个节点的码头群。

代码语言:javascript
复制
$ sudo docker node ls
ID                            HOSTNAME                                     STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
jmsidw84mom3k9m4yoqc7rkj0     ip-172-31-a-x.region.compute.internal    Ready               Active                                  19.03.1
qg1njgopzgiainsbl2u9bmux4 *   ip-172-31-b-y.region.compute.internal   Ready               Active              Leader              19.03.1
yn9sj3sp5b3sr9a36zxpdt3uw     ip-172-31-c-z.region.compute.internal   Ready               Active                                  19.03.1

我在运行三个redis容器。

代码语言:javascript
复制
$ sudo docker service ls
ID                  NAME                MODE                REPLICAS            IMAGE                      PORTS
6j9mmnpgk5j4        redis              replicated          3/3                 172.31.m.n:5000/redis

但是我不能让redis的前哨在他们之间工作--阅读日志,它看起来好像有连接故障。

只是将它们作为三个独立的redis实例,我一直在测试连通性,我可以从任何主机上的shell远程登录到另一个节点的主机IP,然后它连接到容器上运行的服务。如果我对容器上的shell执行相同的操作,它将无法连接到外部。

代码语言:javascript
复制
[centos@172.31.a.x ~]$ telnet 172.31.b.y 6379
Trying 172.31.b.y...
Connected to 172.31.b.y.
Escape character is '^]'.
^CConnection closed by foreign host.
[centos@172.31.a.x ~]$ sudo docker exec -it 4d5abad441b8 sh
/ # telnet 172.31.14.12 6379

然后它就挂了。类似地,我不能从容器内远程登录到443上的google.com,但可以在主机上远程登录。奇怪的是,ping确实脱离了容器。

有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2019-09-05 15:06:38

呃。

redis端是一个转移注意力的地方,我现在可以调试一下--我在考虑telnet不在默认的容器(高山linux)上,所以肯定有一些连接,但是我不能telnet到它声称的red服务器端口,因为它在安装时是从那里下载的。

事实证明,telnet客户端的版本有问题,高山linux安装- nmap和curl的行为符合预期。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57776699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档