docker.delete.sh 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #!/bin/bash
  2. tm=`date +%Y%m%d-%H%M%S`
  3. echo "====================================================="
  4. echo "Starting <${tm}>"
  5. # set constant variables
  6. pmodule=zuul
  7. pdelete=""
  8. show_usage="args: [-m, -d]\
  9. [--pmodule, --pdelete=]"
  10. GETOPT_ARGS=`getopt -o m:d:s: -al pmodule:,pdelete: -- "$@"`
  11. # echo "$GETOPT_ARGS"
  12. eval set -- "$GETOPT_ARGS"
  13. while [ -n "$1" ]
  14. do
  15. case "$1" in
  16. -m|--pmodule) pmodule=$2; shift 2;;
  17. -d|--pdelete) pdelete=$2; shift 2;;
  18. --) break ;;
  19. *) echo $1,$2,$show_usage; break ;;
  20. esac
  21. done
  22. if [[ -z $pmodule ]]; then
  23. echo $show_usage
  24. exit 0
  25. fi
  26. # get container sn
  27. sn=`sudo docker ps -a | grep ${pmodule} | wc -l`
  28. echo "Has ${sn} container of ${pmodule}"
  29. # get container id
  30. # container_id=`sudo docker ps -a | grep ${pmodule} | awk -F '[ ]+' 'NR==1{print $1}'`
  31. all_container_id=`sudo docker ps -a | grep ${pmodule} | awk -F '[ ]+' '{print $1}' | tr "\n" " " | sed -e 's/,$/\n/'`
  32. echo "All container id is ${all_container_id}"
  33. gt_container_id=`sudo docker ps -a | grep ${pmodule} | awk 'NR>1' | awk -F '[ ]+' '{print $1}' | tr "\n" " " | sed -e 's/,$/\n/'`
  34. echo "Great 1 container id is ${gt_container_id}"
  35. # get image name
  36. isn=`sudo docker images | grep ${pmodule} | wc -l`
  37. echo "Has ${isn} image of ${pmodule}"
  38. all_image_id=`sudo docker images | grep ${pmodule} | awk -F '[ ]+' '{print $3}' | tr "\n" " " | sed -e 's/,$/\n/'`
  39. echo "All image id is ${all_image_id}"
  40. gt_image_id=`sudo docker images | grep ${pmodule} | awk 'NR>1' | awk -F '[ ]+' '{print $3}' | tr "\n" " " | sed -e 's/,$/\n/'`
  41. echo "Great 1 images id is ${gt_image_id}"
  42. if [ ! -n "$pdelete" ] && [ -n "$gt_container_id" ]; then
  43. echo "stop container ${gt_container_id}"
  44. sudo docker stop ${gt_container_id}
  45. echo "remove container ${gt_container_id}"
  46. sudo docker rm -f ${gt_container_id}
  47. elif [ -n "$pdelete" ] && [ -n "$all_container_id" ]; then
  48. echo "stop container ${all_container_id}"
  49. sudo docker stop ${all_container_id}
  50. echo "remove container ${all_container_id}"
  51. sudo docker rm -f ${all_container_id}
  52. else
  53. echo "Nothing to do."
  54. fi
  55. if [ ! -n "$pdelete" ] && [ -n "$gt_image_id" ]; then
  56. echo "remove image ${gt_image_id}"
  57. sudo docker rmi -f ${gt_image_id}
  58. elif [ -n "$pdelete" ] && [ -n "$all_image_id" ]; then
  59. echo "remove image ${all_image_id}"
  60. sudo docker rmi -f ${all_image_id}
  61. else
  62. echo "Nothing to do."
  63. fi