如何解决AWS上的Docker Swarm:公开服务端口在AWS虚拟机上不起作用
我有2个AWS虚拟机实例,它们在2个IPv4公用IP A.B.C.D和X.Y.Z.W上运行 我在两台机器上都安装了Docker,并以节点A.B.C.D作为管理器和X.Y.Z.W作为工作器启动Docker Swarm。当我启动Docker Swarm时,我将A.B.C.D用作advertise-addr,就像这样:
docker swarm init --advertise-addr A.B.C.D
虫群初始化成功
当我从映像jwilder/whoami创建服务并在端口8000上公开该服务时,发生了问题:
docker service create -d -p 8000:8000 jwilder/whoami
根据Swarm Routing Mesh文档,我希望我可以从两个节点访问端口8000上的服务。但是,实际上我只能从一个节点访问该服务,该节点是容器在其上运行的节点
我也在Azure虚拟机上尝试了该实验,但也失败了,所以我想这是Swarm在这些云提供商上的问题,也许是一些网络配置错误。
有人知道如何解决此问题吗?在此先感谢:D
解决方法
您未提及的一个主要问题是有关安全组的。您公开了端口8000,但默认情况下,安全组仅为SSH打开端口22。请检查SG,并确保您打开了必要的端口。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。