Skip to content

Instantly share code, notes, and snippets.

@evanp
Created September 22, 2016 02:09
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save evanp/8be3e3536dcb27bf16f8d47cb4c93cf5 to your computer and use it in GitHub Desktop.
Save evanp/8be3e3536dcb27bf16f8d47cb4c93cf5 to your computer and use it in GitHub Desktop.
#!/bin/bash
export ID=$1
echo "Address,Type,ServiceID,TaskOrName,Image"
for service in `docker service ls -q`; do
docker service inspect -f "{{range .Endpoint.VirtualIPs}}{{if eq .NetworkID \"$ID\"}}{{printf .Addr}}{{end}}{{end}},service,{{.ID}},{{.Spec.Name}},{{.Spec.TaskTemplate.ContainerSpec.Image}}" $service;
done
for node in `docker node ls -q`; do
for task in `docker node ps $node -f desired-state=running | tail -n +2 | cut -c1-25`; do
docker inspect -f "{{range .NetworksAttachments}}{{if eq .Network.ID \"$ID\"}}{{index .Addresses 0}}{{end}}{{end}},task,{{.ServiceID}},{{.ID}},{{.Spec.ContainerSpec.Image}}" $task;
done;
done
for node in `docker node ls -q`; do
for task in `docker node ps $node -f desired-state=shutdown | tail -n +2 | cut -c1-25`; do
docker inspect -f "{{range .NetworksAttachments}}{{if eq .Network.ID \"$ID\"}}{{index .Addresses 0}}{{end}}{{end}},stopped task,{{.ServiceID}},{{.ID}},{{.Spec.ContainerSpec.Image}}" $task;
done;
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment