Вы можете использовать docker inspect
для получения виртуального IP-адреса службы:
NETWORK_ID=$(docker network ls -q --no-trunc --filter name=micro) && docker service inspect service-a -f "{{range \$i, \$value := .Endpoint.VirtualIPs}} {{if eq \$value.NetworkID \"$NETWORK_ID\" }}{{$value.Addr}}{{end}}{{end}}"
Эта однострочная команда находит идентификатор сети, затем использует его в docker inspect
, чтобы получить только виртуальные IP-адреса служб.в этой сети, используя параметр -f (формат)