【发布时间】:2020-04-06 05:32:03
【问题描述】:
我对 docker 很陌生,最近我一直在学习 PluralSight 的 Nigel Poulton 课程。现在,我开始按照 swarm 模式的视频教程进行操作,并在视频中进行了详细说明。
我有 6 个 EC2 实例正在运行。我登录了他们每个人并安装了一个码头工人。每台机器上的引擎版本都是18.09.9。现在,我使用以下命令从机器 1 初始化了集群模式:
sudo docker swarm init --advertise-addr 172.31.41.99:2377 --listen-addr 172.31.41.99:2377
然后我得到了workers和managers的token并登录到其他机器,最后创建了3个managers和3个workers。
这就是我的节点最后的样子:
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 的公共 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 中的同样问题还是我遗漏了什么?
【问题讨论】:
标签: amazon-web-services docker amazon-ec2 docker-swarm docker-swarm-mode