0

I can list all container IP address inside a docker overlay network using:

~# docker network inspect <network_id>

I'm trying to do resolver troubleshooting in some Docker swarm stack. It seems that resolving is done to the wrong IP address, but I want to check if it is resolved to a VIP first. I'm talking the network between containers, not the ingress network.

In my quest I found this Docker Issue comment. Which suggests this:

From a debugging point of view, the tool to use are:

  1. tcpdump
  2. ipvsadm --> load balancer is done with ipvs

But I'm unable to find which ipvsadm options to use to print the VIP's used inside my docker network.

2

You can lookup the VIP for a service with an inspect on the service itself (I typically use jq to format the json output):

docker service inspect --format '{{json .Endpoint.VirtualIPs}}' ${service_name} \
 | jq .

To loop over all your services, you can do a little scripting:

for service in $(docker service ls -q); do
  docker service inspect --format \
     '{{.Spec.Name}}: {{range .Endpoint.VirtualIPs}}{{.Addr}} {{end}}' \
     ${service}
done

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.