Guest User

Untitled

a guest
Jan 21st, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.18 KB | None | 0 0
  1. # Create a directory to store this data in
  2. DIRECTORY="/tmp/docker-service-info/"
  3. mkdir -p $DIRECTORY
  4.  
  5. # Capture node level information
  6. docker node ls > $DIRECTORY/docker-node-ls.out
  7. docker service ls > $DIRECTORY/docker-service-ls.out
  8.  
  9. # Iterate through each of the running services and collect info
  10. SERVICES=$(docker service ls -q)
  11.  
  12. for each in $SERVICES
  13. do
  14. SERVICENAME=$(docker inspect $each --format {{.Spec.Name}})
  15. mkdir $DIRECTORY/$SERVICENAME
  16. docker service ps $each > $DIRECTORY/$SERVICENAME/docker-ps.out
  17. docker service inspect $each > $DIRECTORY/$SERVICENAME/docker-service-inspect.out
  18. # Provide backwards compat for engines which lack --format
  19. for TASK_ID in $(
  20. docker service ps $each | grep -v 'ID' | awk '{print $1 " " $6}' | egrep -i 'failed|running' | awk '{print $1}';
  21. )
  22. do
  23. docker inspect --type=task $TASK_ID > $DIRECTORY/$SERVICENAME/$TASK_ID-task-inspect.out
  24. done
  25. done
  26.  
  27. # Create a tarball of the directory contents, if tar exists
  28. if [ -e /bin/tar ]; then
  29. echo "Creating docker-service-info.tar.gz of captured information..."
  30. tar czf -C /tmp/ docker-service-info.tar.gz docker-service-info/
  31. echo "Done."
  32. fi
Add Comment
Please, Sign In to add comment