当前位置: 首页 > news >正文

Ubuntu一键安装harbor脚本

文章目录

  • 一、脚本功能描述
  • 二、脚本内容
  • 三、注意事项

免费个人运维知识库,欢迎您的订阅:literator_ray.flowus.cn

一、脚本功能描述

  1. Docker 安装

    • 安装指定版本的 Docker CE (19.03.5)

    • 配置阿里云镜像加速器

    • 设置 Docker 服务开机自启

  2. Docker Compose 安装

    • 安装指定版本的 Docker Compose (1.25.3)

    • 下载二进制文件并设置可执行权限

  3. Harbor 安装

    • 安装指定版本的 Harbor (1.10.10)

    • 自动生成自签名证书

    • 配置文件自定义(主机名、管理员密码)

    • 执行 Harbor 安装脚本

  4. Harbor 服务管理

    • 创建 systemd 服务文件

    • 配置开机自启

    • 集成 Docker Compose 管理

  5. 安全特性​:

    • 自动生成自签名证书(有效10年)

    • 使用 HTTPS 加密通信

    • 自定义管理员密码

    • 避免重复安装(检查 Docker 是否已存在)

  6. 服务管理

    • 创建 systemd 服务文件 /lib/systemd/system/harbor.service

    • 定义服务依赖关系(在 Docker 启动后运行)

    • 设置重启策略(失败时自动重启)

    • 配置开机自启

  7. 安装流程

在这里插入图片描述

可以根据自己的实际需求修改脚本

二、脚本内容

脚本共102行,动动你的小手滚动查看

#!/bin/bashCOLOR="echo -e \E[1;31m"
END="\E[m"
DOCKER_VERSION="5:19.03.5~3-0~ubuntu-bionic"
HARBOR_VERSION=1.10.10
HARBOR_HOSTNAME=harbor.lhl.net
HARBOR_ADMIN_PASSWORD=123456
HARBOR_CRT='\/etc\/harbor\/certs\/harbor-ca.crt'
HARBOR_KEY='\/etc\/harbor\/certs\/harbor-ca.key'install_docker() {${COLOR}"--------开始安装docker--------"${END}sleep 1apt updateapt -y install apt-transport-https ca-certificates curl software-properties-commoncurl -fsSL https://mirrors.aliyun.com/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"
#    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 5apt -y install docker-ce=${DOCKER_VERSION} docker-ce-cli=${DOCKER_VERSION}mkdir -p /etc/dockercat > /etc/docker/daemon.json << EOF
{"registry-mirrors": ["https://si7y70hh.mirror.aliyuncs.com"]
}
EOFsystemctl daemon-reloadsystemctl enable --now dockerdocker version && ${COLOR}"--------docker安装成功--------"${END} || ${COLOR}"--------docker安装失败--------"${END}
}install_docker_compose() {${COLOR}"--------开始安装docker_compose--------"${END}sleep 1curl -L https://github.com/docker/compose/releases/download/1.25.3/docker-compose-`uname -s`-`uname -m` -o /usr/bin/docker-composechmod +x /usr/bin/docker-composedocker-compose --version && ${COLOR}"--------docker compose安装成功--------"${END} || ${COLOR}"--------docker compose安装失败--------"${END}    
}install_harbor() {${COLOR}"--------开始安装harbor--------"${END}sleep 1#    wget https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-offline-installer-v${HARBOR_VERSION}.tgzwget https://storage.googleapis.com/harbor-releases/release-1.10.0/harbor-offline-installer-v${HARBOR_VERSION}.tgz
#    wget https://github.com/goharbor/harbor/releases/download/v${HARBOR_VERSION}/harbor-offline-installer-v${HARBOR_VERSION}.tgztar xf harbor-offline-installer-v${HARBOR_VERSION}.tgz -C /etcsed -i.bak -e 's/^hostname: .*/hostname: '''$HARBOR_HOSTNAME'''/' -e 's/^harbor_admin_password: .*/harbor_admin_password: '''$HARBOR_ADMIN_PASSWORD'''/' -e 's/certificate: .*/certificate: '''$HARBOR_CRT'''/' -e 's/private_key: .*/private_key: '''$HARBOR_KEY'''/' /etc/harbor/harbor.yml# https configmkdir /etc/harbor/certsopenssl genrsa -out /etc/harbor/certs/harbor-ca.keytouch /root/.rndopenssl req -x509 -new -nodes -key /etc/harbor/certs/harbor-ca.key -subj "/CN=harbor.lhl.net" -days 3650 -out  /etc/harbor/certs/harbor-ca.crtapt -y install python3apt -y install python/etc/harbor/install.sh &&  ${COLOR}"--------harbor安装成功--------"${END} || ${COLOR}"--------harbor安装失败--------"${END}
}harbor_service() {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 /etc/harbor/docker-compose.yml up
ExecStop=/usr/bin/docker-compose -f /etc/harbor/docker-compose.yml down[Install]
WantedBy=multi-user.target
EOFsystemctl daemon-reload
systemctl enable harbor &> /dev/null || ${COLOR}"--------Harbor已配置为开机自动启动--------"${END}
}dpkg -s docker-ce &> /dev/null && ${COLOR}"Docker已安装,退出!"${END} || install_docker
docker-compose --version &> /dev/null && ${COLOR}"Docker compose已安装,退出!"${END} || install_docker_compose
install_harbor
harbor_service

三、注意事项

  1. 证书安全

    • 使用自签名证书(浏览器会有安全警告)

    • 生产环境应替换为正式证书

  2. 版本兼容性

    • 专为 Ubuntu Bionic (18.04) 设计

    • Docker 版本固定为 19.03.5

    • Harbor 版本固定为 1.10.10

  3. 网络要求

    • 需要访问阿里云镜像源

    • 需要访问 Google 存储(下载 Harbor)

    • 需要访问 GitHub(下载 Docker Compose)


欢迎您提出问题,并指正代码中的不足

请不要以此视为定论,这只是我的个人经验

http://www.lryc.cn/news/626052.html

相关文章:

  • WSL虚拟机(我的是ubuntu20.04)将系统文件转移到E盘
  • 机器学习之决策树:从原理到实战(附泰坦尼克号预测任务)
  • LINUX819 shell:for for,shift ,{} ,array[0] array[s] ,declare -x -a
  • 中科米堆CASAIM提供机加工件来料自动化测量尺寸方案
  • 中国互联网医院行业分析
  • Linux下Mysql命令,创建mysql,删除mysql
  • 基于多级缓存架构的Redis集群与Caffeine本地缓存实战经验分享
  • 原牛:一站式自媒体工具平台
  • 【LeetCode题解】LeetCode 153. 寻找旋转排序数组中的最小值
  • [优选算法专题二——找到字符串中所有字母异位词]
  • 工业4.0时代,耐达讯自动化Profibus转光纤如何重构HMI通信新标准?“
  • 链表基本运算详解:查找、插入、删除及特殊链表
  • 多线程—飞机大战排行榜功能(2.0版本)
  • 科技云报到:AI推理破局,金融服务如何“逆天改命”
  • 颠覆性进化:OpenAI正式发布GPT-5,AI大模型进入“超级智能”时代
  • bit-Agent正式接入GPT-5,九科信息智能体能力再升级!
  • 电子电气架构 ---SDV技术基础与传统E/E架构有何不同?
  • 免费OCR工具支持哪些文档格式转换
  • 中兴B862AV3.2M/B862AV3.1-M2 晨星mso9385_安卓9_原厂备份救砖包
  • 基于C语言基础对C++的进一步学习_知识补充、组合类、类中的静态成员与静态函数、类中的常对象和常成员函数、类中的this指针、类中的友元
  • 网络编程day3
  • 机器翻译60天修炼专栏介绍和目录
  • 大模型问题:幻觉分类+原因+各个训练阶段产生幻觉+幻觉的检测和评估基准
  • 【技术揭秘】AI Agent操作系统架构演进:从单体到分布式智能的跃迁
  • Incredibuild 新增 Unity 支持:击破构建时间过长的痛点
  • Pygame第11课——实现经典打方块小游戏
  • 数据结构:二叉树oj练习
  • Linux------《零基础到联网:CentOS 7 在 VMware Workstation 中的全流程安装与 NAT 网络配置实战》
  • Apache ShenYu网关与Nacos的关联及如何配合使用
  • AJAX (一)