# START docker-compose # Undeploy docker and containers do_cleanup () { docker-compose down read -r -p "Do you want to delete all docker dangling volumes? [y/N] " response if [[ "$response" =~ ^([yY][eE][sS]|[yY])+$ ]] then for d in $(docker volume ls -qf dangling=true); do docker volume rm $d done else echo -e "'no' chosen" fi # read -r -p "Do you want to delete all docker \"bridge\" networks? [y/N] " response # if [[ "$response" =~ ^([yY][eE][sS]|[yY])+$ ]] # then # for n in $(docker network ls | grep "bridge" | awk '/ / { print $1 }'); do # echo -e "attempting to delete network: $n" # docker network rm $n || echo "cannot remove: $n" # done # else # echo -e "'no' chosen" # fi read -r -p "Do you want to delete all docker dangling images? [y/N] " response if [[ "$response" =~ ^([yY][eE][sS]|[yY])+$ ]] then for i in $(docker images --filter "dangling=true" -q --no-trunc); do docker rmi $i done else echo -e "'no' chosen" fi read -r -p "Do you want to delete all docker \"none\" images? [y/N] " response if [[ "$response" =~ ^([yY][eE][sS]|[yY])+$ ]] then for i in $(docker images | grep "none"); do i=$(echo $i | awk '/ / { print $3 }') docker rmi $i done else echo -e "'no' chosen" fi read -r -p "Do you want to delete all docker exited containers? [y/N] " response if [[ "$response" =~ ^([yY][eE][sS]|[yY])+$ ]] then for d in $(docker ps -qa --no-trunc --filter "status=exited"); do docker rm $d done else echo -e "'no' chosen" fi } do_cleanup || exit