gpt4 book ai didi

docker - 群集模式:在管理器节点上检查工作程序节点的容器

转载 作者:行者123 更新时间:2023-12-02 19:39:42 25 4
gpt4 key购买 nike

我想知道是否可以从管理器节点检查在工作器节点上运行的容器?该容器是通过docker service create创建的。从管理器节点,我可以获取任务的服务ID(通过docker service ps甚至容器ID(通过docker inspect)),我的最终目标是能够找到容器的ip地址。任何帮助将不胜感激!

附加信息:

Docker版本1.12.1

操作系统:CentOS Linxus 7

最佳答案

目前尚无直接方法。您应该忘了处理ip,而依靠使用dns名称(服务名称)进行解析。

但是,如果确实需要,可以创建一个执行以下操作的脚本。

  • 获取您的服务的任务ID及其节点名称。
    docker service ps myservice

    那将返回类似
    ID                         NAME   IMAGE       NODE        DESIRED STATE  CURRENT STATE           ERROR
    31cb7clxw3lfi1y6ko12edjys foo.1 alpine:3.4 vmw-node03 Running Running 30 minutes ago
    9gkzs118txbc8a8gvla3bildq foo.2 alpine:3.4 vmw-node01 Running Running 30 minutes ago

    该服务有两个在不同节点上运行的任务。
  • 获取每个任务的容器ID

    我只是在这里完成一项任务
    docker inspect --format "{{.Status.ContainerStatus.ContainerID}}" 31cb7clxw3lfi1y6ko12edjys

    它将返回任务的容器ID
    13a24dff4bd1f9351938b09d32db451406ed64b5f890f66f18fec12c611e9175
  • 获取容器IP
    docker $(docker-machine config vmw-node03) inspect --format "{{.NetworkSettings.IPAddress}}" 13a24dff4bd1f9351938b09d32db451406ed64b5f890f66f18fec12c611e9175 

    哪个返回
    172.17.0.2
  • 关于docker - 群集模式:在管理器节点上检查工作程序节点的容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39237998/

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