我正在尝试为我的http服务配置swarm群集。但是看起来http容器没有在我的工作节点上启动,即使我在创建服务时将副本设置为3。
docker service create --name www -p 8080:8080 -replicas 3 nginxdemos / hello
7697736869d5 nginxdemos/hello:latest "nginx -g 'daemon
of…" 9 minutes ago Up 9 minutes 80/tcp
www.3.ondv0trbihswroe32n7hbdwy6
e77cef0511b8 nginxdemos/hello:latest "nginx -g 'daemon
of…" 9 minutes ago Up 9 minutes 80/tcp
www.2.266mjs85leavrvwb0yik23hzh
09594341b984 nginxdemos/hello:latest "nginx -g 'daemon
of…" 9 minutes ago Up 9 minutes 80/tcp
www.1.m1syq4qchmzwm6qcpm1sikeax
[root@slc07gpc ~]# docker node ls
ID HOSTNAME STATUS
AVAILABILITY MANAGER STATUS
2c87tpbao6bpv57l2y2fk20un * manager1 Ready
Active Leader
mym5vl8xo29dnbxlcwt4fhe23 manager2 Ready
Active
yxj0gok5ii5o3bnewyn7gno61 manager2 Down
Active
w16a3p2owe5tb4n09wv8qm1jb worker1 Ready
Active
vk37whv1ov8micyd30s48u14q worker2 Ready
Active
问题是容器未启动,当我在manager2,worker1,worker2上执行ps -a时,我看不到任何docker进程。有人可以帮助我吗
答案 0 :(得分:0)
看起来你有一个经理,有3个工人(还有一个向下的节点yxj0gok5ii5o3bnewyn7gno61)。
假设您在群集中没有运行其他服务/容器,则可能存在网络问题,导致无法在其他节点上创建正确的任务。尝试删除swarm docker swarm leave
中除manager1和另一个节点之外的所有节点。然后删除并重新创建服务,看看会发生什么。尝试创建它而不发布端口,看看会发生什么。
然后,如果问题仍然存在,您可以使用结果更新答案。同时显示您的docker版本和常规网络设置也不错。