gpt4 book ai didi

amazon-web-services - 无法访问 Docker swarm 中的服务

转载 作者:行者123 更新时间:2023-12-02 18:26:38 35 4
gpt4 key购买 nike

我对 docker 很陌生,最近我一直在学习 PluralSight 的 Nigel Poulton 类(class)。现在,我开始按照关于 swarm 模式的视频教程进行操作,并在视频中完全按照说明进行操作。

我有 6 个 EC2 实例正在运行。我登录了他们每个人并安装了一个 docker 。引擎版本是18.09.9在每台机器上。现在,我使用以下命令从机器 1 初始化集群模式:
sudo docker swarm init --advertise-addr 172.31.41.99:2377 --listen-addr 172.31.41.99:2377
然后我得到了 worker 和经理的 token 并登录到其他机器,最后创建了 3 个经理和 3 个 worker 。

这就是我的节点最终的样子:

ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
sbh3v850ko7h8f279366fxlt9 * ip-172-31-41-99 Ready Active Leader 18.09.9
f7kqsy3yano3vxo8451mi9z7o ip-172-31-83-172 Ready Active Reachable 18.09.9
jb0innx7l4q56kq4dk9phginw ip-172-31-90-8 Ready Active 18.09.9
xr3oz2x1wyl3a0bd83i3atjk4 ip-172-31-91-47 Ready Active 18.09.9
ttug67rbhfai88wq2sbulo8dm ip-172-31-94-197 Ready Active Reachable 18.09.9
kkun5zo93zxg4jksryvbeh3mt ip-172-31-94-220 Ready Active 18.09.9

然后我使用以下命令创建了服务:
sudo docker service create --name psight1 -p 8080:8080 --replicas 5 nigelpoulton/pluralsight-docker-ci
现在当我拿起我的机器 1 的公共(public) DNS 并输入 http://ec2-3-89-157-63.compute-1.amazonaws.com:8080 时,我收到一条错误消息,提示无法访问该站点。

但是,如果我使用以下命令,而不是使用 docker 服务:
docker run -d --name web -p 8080:8080 nigelpoulton/pluralsight-docker-ci

然后当我去 http://ec2-3-89-157-63.compute-1.amazonaws.com:8080它完美地工作。

我看到有一个 open issue ongoing in github这与此类似。是因为 docker 18.09.9 中的相同问题还是我遗漏了什么?

最佳答案

您是否创建了覆盖网络并将服务部署到该网络。

docker network create -d my-net创建叠加层。

然后docker service create --network my-net ...将服务部署到覆盖。

一段时间以来,我一直在摸不着头脑,但覆盖网络可能对通过任何节点提供服务的路由网格至关重要。

我在想的是,您可能会遇到集群中没有服务副本的节点。

另一种测试方法是部署比节点更多的副本。这应该确保每个节点上至少有一个。

或者,部署单个副本,找出它正在运行的节点,连接到该节点(浏览器或 curl),然后再次尝试访问未运行副本的节点。

HTH。还在 Twitter 上 ping 了你。

@nigelpoulton

关于amazon-web-services - 无法访问 Docker swarm 中的服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61039090/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com