gpt4 book ai didi

docker - Docker Swarm模式-显示每个节点的容器

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

我正在使用Docker版本17.12.1-ce。

我建立了一个具有两个节点的集群,并且在管理器上运行了一个堆栈,同时我要实例化worker上的新节点(不是在服务内,而是作为独立容器)。

到目前为止,我还没有找到一种方法来具体实例化工作服务器上的容器,和/或验证新容器实际上是否已部署在工作服务器上。

我已经阅读了this question的答案,这使我可以使用-e选项运行容器,该选项指定constraint:Role==workerconstraint:node==<nodeId>constraint:<custom label>==<value>,并且此github issue from 2016显示的docker info命令仅输出我需要的信息(即,每个给定节点上每个节点有多少个容器时间),但是我不确定这是否是独立群的功能,因为docker info仅包含节点数,但是没有每个节点的详细信息。我也尝试过docker -D info

具体来说,我需要:

  • 手动指定要将独立容器部署到的节点(即与服务无关)。
  • 检查容器是否在特定的群集节点上运行,或检查节点上运行了多少个容器。
  • 最佳答案

    Swarm命令将仅关注/显示与服务相关的容器。如果使用docker run创建一个容器,则需要使用ssh node2 docker ps这样的工具来查看该节点上的所有容器。

    我建议您尽一切努力将所有容器作为服务的一部分。如果需要一个容器在nodeX上运行,则可以使用标签和约束创建一个带有“节点约束”的服务。在这种情况下,您可以将该服务的单个副本限制为节点的主机名。
    docker service create --constraint Node.Hostname==swarm2 nginx
    要从任何群管理器查看节点上的所有任务:
    docker node ps <nodename_or_id>

    关于docker - Docker Swarm模式-显示每个节点的容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49106929/

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