Docker Remote API无法准确列出swarm

时间:2017-07-27 05:54:34

标签: rest docker swarm remoteapi

目前我遇到以下问题:

我使用debian和已安装的docker设置了3台虚拟盒机器。没有防火墙。 我创建了一个swarm,使一台机器成为管理器,并将其他两个机器作为工作者加入,如无数网页中所述。工作完美。 在swarm管理器上,我通过-H:4243激活了一个远程API访问...并重新启动了deamon。 (仅限群体经理) ' docker node ls'限定所有活动的节点。 当我调用http://:4243 / nodes时,我看到了所有节点。 我创建了一个覆盖网络(很可能不需要说明我的问题。标准入口网络也应该没问题) 然后我用3副本创建了一个服务。指定名称,我的覆盖网络和一些env参数。 ' docker service ps'给我的信息是每个节点用我的图像运行一个容器。 使用' docker ps'进行双重检查在每个节点上都说同样的。

我的问题是: 致电' http://:4243 / containers / json'我只看到一个容器,即群组管理器上的容器。

我希望看到3个容器,每个节点一个。问题是为什么?

有什么想法吗?

This Question does not seem to be my problem

1 个答案:

答案 0 :(得分:1)

通过/containers/json列出容器只显示" local"该节点上的容器。如果要全面了解每个节点上的每个容器,则需要使用群集感知端点。 Docker Services是高级抽象,而Tasks是容器级抽象。请参阅https://docs.docker.com/engine/api/v1.30/#tag/Task以供参考。

如果您在http://:4243/tasks的经理节点上执行请求,您应该看到每个任务(也称为容器),他们正在运行的节点以及他们属于哪个服务。