install_docker.sh 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. # Set color
  2. RED="\033[31;1m"
  3. GREEN="\033[32;1m"
  4. YELLOW="\033[33;1m"
  5. BLUE="\033[34;1m"
  6. CYAN="\033[36;1m"
  7. PLAIN="\033[0m"
  8. # Info messages
  9. DONE="${GREEN}[DONE]${PLAIN}"
  10. ERROR="${RED}[ERROR]${PLAIN}"
  11. WARNING="${YELLOW}[WARNING]${PLAIN}"
  12. # Font Format
  13. BOLD="\033[1m"
  14. UNDERLINE="\033[4m"
  15. # Current folder
  16. CUR_DIR=`pwd`
  17. SUDO_CMD="sudo"
  18. # OS
  19. OSID=$(grep ^ID= /etc/os-release | cut -d= -f2)
  20. OSVER=$(lsb_release -cs)
  21. OSNUM=$(grep -oE "[0-9.]+" /etc/issue)
  22. DOCKERINFO=$(${SUDO_CMD} docker info | wc -l)
  23. DOCKERINFOLEN=`expr ${DOCKERINFO} + 0`
  24. if [ $DOCKERINFOLEN -gt 30 ]; then
  25. echo -e " ${YELLOW}Docker has installed.${PLAIN}"
  26. else
  27. lowercase_osid=$(echo ${OSID} | tr '[A-Z]' '[a-z]')
  28. echo -e " ${YELLOW}Start install docker for ${lowercase_osid} ${PLAIN}"
  29. DOCKER_INSTALL_CMD="curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun"
  30. DOCKER_INSTALL_RUN_CMD=""
  31. case "$lowercase_osid" in
  32. ubuntu)
  33. DOCKER_INSTALL_CMD="curl -fsSL https://test.docker.com -o test-docker.sh"
  34. DOCKER_INSTALL_RUN_CMD="${SUDO_CMD} sh test-docker.sh"
  35. ;;
  36. centos)
  37. DOCKER_INSTALL_CMD="curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun"
  38. ;;
  39. debian)
  40. DOCKER_INSTALL_CMD="curl -fsSL https://get.docker.com -o get-docker.sh"
  41. DOCKER_INSTALL_RUN_CMD="${SUDO_CMD} sh get-docker.sh"
  42. ;;
  43. \"alios\")
  44. DOCKER_INSTALL_CMD="curl -fsSL https://get.docker.com -o get-docker.sh"
  45. DOCKER_INSTALL_RUN_CMD="${SUDO_CMD} sh get-docker.sh"
  46. ;;
  47. \"alinux\")
  48. DOCKER_INSTALL_CMD="${SUDO_CMD} yum -y install dnf"
  49. DOCKER_INSTALL_RUN_CMD="${SUDO_CMD} dnf -y install docker"
  50. ;;
  51. *)
  52. echo -e " ${RED}$lowercase_osid is not supported.${PLAIN}"
  53. ;;
  54. esac
  55. echo -e " Get docker installer: ${GREEN}${DOCKER_INSTALL_CMD}${PLAIN}"
  56. echo -e " Get docker run: ${GREEN}${DOCKER_INSTALL_RUN_CMD}${PLAIN}"
  57. $DOCKER_INSTALL_CMD
  58. if [ ! -z "$DOCKER_INSTALL_RUN_CMD" ]; then
  59. $DOCKER_INSTALL_RUN_CMD
  60. fi
  61. $SUDO_CMD systemctl start docker
  62. DOCKERINFO=$(${SUDO_CMD} docker info | wc -l)
  63. DOCKERINFOLEN=`expr ${DOCKERINFO} + 0`
  64. if [ $DOCKERINFOLEN -gt 30 ]; then
  65. echo -e " ${GREEN}Docker install success, start docker server.${PLAIN}"
  66. $SUDO_CMD systemctl start docker
  67. else
  68. echo -e " ${RED}Docker install failed!${PLAIN}"
  69. exit 1
  70. fi
  71. fi