82 lines
2.5 KiB
Bash
82 lines
2.5 KiB
Bash
|
|
||
|
# Set color
|
||
|
RED="\033[31;1m"
|
||
|
GREEN="\033[32;1m"
|
||
|
YELLOW="\033[33;1m"
|
||
|
BLUE="\033[34;1m"
|
||
|
CYAN="\033[36;1m"
|
||
|
PLAIN="\033[0m"
|
||
|
|
||
|
# Info messages
|
||
|
DONE="${GREEN}[DONE]${PLAIN}"
|
||
|
ERROR="${RED}[ERROR]${PLAIN}"
|
||
|
WARNING="${YELLOW}[WARNING]${PLAIN}"
|
||
|
|
||
|
# Font Format
|
||
|
BOLD="\033[1m"
|
||
|
UNDERLINE="\033[4m"
|
||
|
|
||
|
# Current folder
|
||
|
CUR_DIR=`pwd`
|
||
|
SUDO_CMD="sudo"
|
||
|
|
||
|
# OS
|
||
|
OSID=$(grep ^ID= /etc/os-release | cut -d= -f2)
|
||
|
OSVER=$(lsb_release -cs)
|
||
|
OSNUM=$(grep -oE "[0-9.]+" /etc/issue)
|
||
|
DOCKERINFO=$(${SUDO_CMD} docker info | wc -l)
|
||
|
DOCKERINFOLEN=`expr ${DOCKERINFO} + 0`
|
||
|
|
||
|
|
||
|
if [ $DOCKERINFOLEN -gt 30 ]; then
|
||
|
echo -e " ${YELLOW}Docker has installed.${PLAIN}"
|
||
|
else
|
||
|
lowercase_osid=$(echo ${OSID} | tr '[A-Z]' '[a-z]')
|
||
|
echo -e " ${YELLOW}Start install docker for ${lowercase_osid} ${PLAIN}"
|
||
|
DOCKER_INSTALL_CMD="curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun"
|
||
|
DOCKER_INSTALL_RUN_CMD=""
|
||
|
|
||
|
case "$lowercase_osid" in
|
||
|
ubuntu)
|
||
|
DOCKER_INSTALL_CMD="curl -fsSL https://test.docker.com -o test-docker.sh"
|
||
|
DOCKER_INSTALL_RUN_CMD="${SUDO_CMD} sh test-docker.sh"
|
||
|
;;
|
||
|
centos)
|
||
|
DOCKER_INSTALL_CMD="curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun"
|
||
|
;;
|
||
|
debian)
|
||
|
DOCKER_INSTALL_CMD="curl -fsSL https://get.docker.com -o get-docker.sh"
|
||
|
DOCKER_INSTALL_RUN_CMD="${SUDO_CMD} sh get-docker.sh"
|
||
|
;;
|
||
|
\"alios\")
|
||
|
DOCKER_INSTALL_CMD="curl -fsSL https://get.docker.com -o get-docker.sh"
|
||
|
DOCKER_INSTALL_RUN_CMD="${SUDO_CMD} sh get-docker.sh"
|
||
|
;;
|
||
|
\"alinux\")
|
||
|
DOCKER_INSTALL_CMD="${SUDO_CMD} yum -y install dnf"
|
||
|
DOCKER_INSTALL_RUN_CMD="${SUDO_CMD} dnf -y install docker"
|
||
|
;;
|
||
|
*)
|
||
|
echo -e " ${RED}$lowercase_osid is not supported.${PLAIN}"
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
echo -e " Get docker installer: ${GREEN}${DOCKER_INSTALL_CMD}${PLAIN}"
|
||
|
echo -e " Get docker run: ${GREEN}${DOCKER_INSTALL_RUN_CMD}${PLAIN}"
|
||
|
|
||
|
$DOCKER_INSTALL_CMD
|
||
|
if [ ! -z "$DOCKER_INSTALL_RUN_CMD" ]; then
|
||
|
$DOCKER_INSTALL_RUN_CMD
|
||
|
fi
|
||
|
$SUDO_CMD systemctl start docker
|
||
|
|
||
|
DOCKERINFO=$(${SUDO_CMD} docker info | wc -l)
|
||
|
DOCKERINFOLEN=`expr ${DOCKERINFO} + 0`
|
||
|
if [ $DOCKERINFOLEN -gt 30 ]; then
|
||
|
echo -e " ${GREEN}Docker install success, start docker server.${PLAIN}"
|
||
|
$SUDO_CMD systemctl start docker
|
||
|
else
|
||
|
echo -e " ${RED}Docker install failed!${PLAIN}"
|
||
|
exit 1
|
||
|
fi
|
||
|
fi
|