Swarm: получить IP-адрес узла и IP-адрес контейнера из службы

как я могу получить IP-адрес узлов и IP-адрес контейнера (работающих на узлах менеджера (ов) и рабочих узлов) из созданной службы? Я хотел бы проверить это для изучения циклической балансировки нагрузки двигателя роя докеров и разработать новую балансировку нагрузки.


person pier92    schedule 09.01.2017    source источник


Ответы (2)


Чтобы получить IP-адрес узла, вы можете использовать следующую команду:

docker node inspect self --format '{{ .Status.Addr }}'

Чтобы получить IP-адрес службы, просто добавьте идентификатор службы в конце, например:

docker node inspect self --format '{{ .Status.Addr }}' service-id

Чтобы получить IP-адрес контейнера, используйте:

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container-id

person Nabeel Shaikh    schedule 10.05.2019

Я предполагаю, что вы имеете в виду получение всей этой информации на своем терминале с помощью команды docker для проверки интеграции с языком программирования docker- пи

Контейнеры

Чтобы получить информацию о менеджерах и работниках, вы можете использовать команду docker node:

docker node ls

Дает вам подробную информацию о каждом узле, например:

ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS
j74jxqb4wz38l2odl2seiiuzh *   db-cluster-1        Ready               Active              Leader

Как видите, здесь также есть поле «Статус менеджера».

Узлы роя

docker service ps <SERVICE-NAME>

Дает вам список каждого сервисного узла, его идентификатор и статус, например:

ID                  NAME                     IMAGE                         NODE                DESIRED STATE       CURRENT STATE         ERROR                       PORTS
ypd65x4i06nn        db-cluster.1       severalnines/mariadb:latest   db-cluster-1        Running             Running 2 hours ago                               
278rdv7m4015        db-cluster.2       severalnines/mariadb:latest   db-cluster-1        Running             Running 2 hours ago                               
z9zr6xgnyuob        db-cluster.3       severalnines/mariadb:latest   db-cluster-1        Running             Running 2 hours ago

затем вы можете использовать inspect для получения более подробной информации о любом объекте, например:

docker inspect ypd65x4i06nn

проверьте раздел NetworksAttachments, чтобы получить сведения о сети

person emont01    schedule 21.07.2017