Skip to content

Instantly share code, notes, and snippets.

@zhangt58
Created September 5, 2017 13:42
Show Gist options
  • Select an option

  • Save zhangt58/56a6d4bea624abc01f3555e2b3a46c0f to your computer and use it in GitHub Desktop.

Select an option

Save zhangt58/56a6d4bea624abc01f3555e2b3a46c0f to your computer and use it in GitHub Desktop.
Clean up docker images, or all docker data by option.
#!/bin/bash
#
# clean up docker images/data.
#
# Tong Zhang <zhangt@frib.msu.edu>
# 2017-08-25 08:47:34 AM EDT
#
print_help ()
{
echo "Usage: `basename $0` [-a|--all] [-h|--help]"
echo "Clean dangling docker images."
echo
echo "Options:"
echo " -h|--help: Show help message."
echo " -a|--all : Clean all images/data files of docker."
}
clean_all=false
help_flag=false
while [[ $# -gt 0 ]]
do
case $1 in
-a|--all)
clean_all=true
;;
-h|--help)
help_flag=true
;;
*)
;;
esac
shift
done
if [[ $help_flag = true ]]; then
print_help
exit 1
fi
if [[ $clean_all = true ]]; then
echo "Clean all..."
docker rm $(docker ps -a -q) 2> /dev/null
docker rmi $(docker images -q) 2> /dev/null
sudo service docker stop && \
sudo rm -rf /var/lib/docker/{aufs,image/aufs} && \
sudo service docker start
else
echo "Cleaning dangling images..."
docker container rm $(docker container ls -f "status=exited" -q) 2> /dev/null
docker rmi $(docker images -f "dangling=true" -q) 2> /dev/null
fi
@zhangt58
Copy link
Author

zhangt58 commented Sep 5, 2017

Show usage help message
docker-clean --help

Usage: docker-clean [-a|--all] [-h|--help]
Clean dangling docker images.

Options:
  -h|--help: Show help message.
  -a|--all : Clean all images/data files of docker.

Clean dangling docker images
docker-clean

Clean all docker stuff
docker-clean --all

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment