Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Create a directory to store this data in
- DIRECTORY="/tmp/docker-service-info/"
- mkdir -p $DIRECTORY
- # Capture node level information
- docker node ls > $DIRECTORY/docker-node-ls.out
- docker service ls > $DIRECTORY/docker-service-ls.out
- # Iterate through each of the running services and collect info
- SERVICES=$(docker service ls -q)
- for each in $SERVICES
- do
- SERVICENAME=$(docker inspect $each --format {{.Spec.Name}})
- mkdir $DIRECTORY/$SERVICENAME
- docker service ps $each > $DIRECTORY/$SERVICENAME/docker-ps.out
- docker service inspect $each > $DIRECTORY/$SERVICENAME/docker-service-inspect.out
- # Provide backwards compat for engines which lack --format
- for TASK_ID in $(
- docker service ps $each | grep -v 'ID' | awk '{print $1 " " $6}' | egrep -i 'failed|running' | awk '{print $1}';
- )
- do
- docker inspect --type=task $TASK_ID > $DIRECTORY/$SERVICENAME/$TASK_ID-task-inspect.out
- done
- done
- # Create a tarball of the directory contents, if tar exists
- if [ -e /bin/tar ]; then
- echo "Creating docker-service-info.tar.gz of captured information..."
- tar czf -C /tmp/ docker-service-info.tar.gz docker-service-info/
- echo "Done."
- fi
Add Comment
Please, Sign In to add comment