#!/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
Ubantu脚本安装docker+compose+python+harbor
最新推荐文章于 2023-07-20 20:59:09 发布