Ubantu脚本安装docker+compose+python+harbor

#!/bin/bash
#
#********************************************************************
#Author:                LingXia
#QQ:                    1589640561
#Date:                  2021-11-23
#FileName:             install_harbor.sh
#URL:                   https://blog.csdn.net/weixin_41142408
#Description:          The test script
#Copyright (C):        2021 All rights reserved
#********************************************************************
COLOR="echo -e \\033[1;31m"
COLOR2="echo -e \\033[1;33m"
END="\033[m"
DOCKER_VERSION="5:19.03.14~3-0~ubuntu-bionic"
COMPOSE_VERSION="1.29.2"
HARBOR_VERSION="1.7.6"
IPADDR=`hostname -I |awk '{print $1}'`
HARB_PWD=harbor12345


install_docker(){
    dpkg -s docker-ce &> /dev/null && ${COLOR}"Docker已安装,退出"${END} && exit
    apt update || { ${COLOR}更新包索引失败${END} ; exit 1; }
    apt  -y install apt-transport-https ca-certificates curl software-properties-common || { ${COLOR}安装相关包失败${END} ; exit 2; }
    curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
    add-apt-repository "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

    #curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
    #add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

    apt update
    ${COLOR}"Docker有以下版本"${END}
    apt-cache madison docker-ce
    ${COLOR}"5秒后即将安装: docker-"${DOCKER_VERSION}" 版本....."${END}
    ${COLOR}"如果想安装其它Docker版本,请按ctrl+c键退出,修改版本再执行"${END}
    sleep 5

    apt -y  install docker-ce=${DOCKER_VERSION} docker-ce-cli=${DOCKER_VERSION}
	mkdir -p /etc/docker
    tee /etc/docker/daemon.json << EOF
{
    "registry-mirrors": ["https://cte21fsy.mirror.aliyuncs.com"]
}
EOF
    systemctl daemon-reload
    systemctl restart docker
    docker version && ${COLOR}"Docker 安装成功"${END} ||  ${COLOR}"Docker 安装失败"${END}

    echo 'alias rmi="docker images -qa|xargs docker rmi -f"' >> .bashrc
    echo 'alias rmc="docker ps -qa|xargs docker rm -f"' >> .bashrc
}

#离线安装compose
install_compose(){
    sleep 2
    which docker-compose 2> /dev/null && ${COLOR}"docker-compose已安装,退出"${END} && exit
    wget --directory-prefix=/data/ https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-Linux-x86_64
    mv /data/docker-compose-Linux-x86_64 /usr/bin/docker-compose
    chmod +x /usr/bin/docker-compose
    docker-compose --version 2> /dev/null && ${COLOR}"docker-compose 安装成功"${END} || ${COLOR}"docker-compose 安装失败,请检查"${END}
    echo 'alias dm="docker-compose"' >> .bashrc
}

#在线安装python
install_python(){
    sleep 2
    dpkg -s python &> /dev/null && ${COLOR}"python已安装"${END} && exit
    apt update || { ${COLOR}更新包索引失败${END} ; exit 1; }
    apt -y install python &> /dev/null && ${COLOR}"python安装成功"${END} || ${COLOR}"python 安装失败,请检查"${END}
}

#离线安装harbor
#注:harbor程序依赖于docker,compose,python
install_harbor(){
	sleep 2
    mkdir /apps
    wget --directory-prefix=/apps/ https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-offline-installer-v${HARBOR_VERSION}.tgz
    tar xvf /apps/harbor-offline-installer-v${HARBOR_VERSION}.tgz -C /apps/
    sed -i.bak -e 's/^hostname =.*/hostname = '${IPADDR}'/' -e 's/^harbor_admin_password =.*/harbor_admin_password ='${HARB_PWD}'/' /apps/harbor/harbor.cfg

    cat > /lib/systemd/system/harbor.service << EOF
[Unit]
Description=Harbor
After=docker.service systemd-networkd.service systemd-resolved.service
Requires=docker.service
Documentation=http://github.com/vmware/harbor

[Service]
Type=simple
Restart=on-failure
RestartSec=5
ExecStart=/usr/bin/docker-compose -f /apps/harbor/docker-compose.yml up
ExecStop=/usr/bin/docker-compose -f /apps/harbor/docker-compose.yml down

[Install]
WantedBy=multi-user.target
EOF
    systemctl daemon-reload
    /apps/harbor/install.sh
#    /usr/bin/docker-compose -f /apps/harbor/docker-compose.yml up -d
    systemctl enable harbor &> /dev/null
    ${COLOR}"系统即将重启,如果需要中断请按 ctrl+c"${END}
    sleep 5
    reboot
}

PS3="请选择需要安装的软件(1-6):"
select MENU in docker compose python harbor 安装所有 退出安装;do
case $REPLY in
1)
    install_docker
    ;;
2)
    install_compose
    ;;
3)
    install_python
    ;;
4)
    install_harbor
    ;;
5)
    ${COLOR2}"即将安装docker+compose+python+harbor"${END}
    install_docker
    sleep 2
    install_compose
    sleep 2
    install_python
    sleep 2
    install_harbor
    ;;
6)
    ${COLOR2}"退出安装程序,完成安装"${END}
    break
    ;;
*)
    ${COLOR}"选择有误,请重新选择"${END}
    ;;
esac
done
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值