前言:

        harbor官网目前没有arm架构的软件包可操作,需要网上有很多前辈分享的软件包,镜像,或者自行构建镜像的操作,都有部署的流程!!

        我自行构建过镜像,构建过程的艰辛真是一言难尽呀,几乎每一次操作都是失败,成功后,下一步操作还是失败,解决后接着下一步又报错,反反复复这过程花了几个钟,你能想象得有多难操作,最终还是以失败告终!!!

        最后,我下载了诸位前辈分享的软件包 - harbor-v2.3.4版本,拉取了已经构建好的镜像,拉取的时候也是花了几个钟,所以,为了小伙伴们免去复杂的操作,特此在这分享,可以按照我的操作流程安装部署,亲测有效!!

        使用机器设备:MacBook Pro m1pro

        虚拟系统:Ubuntu 22.04.3 LTS

软件包:https://download.csdn.net/download/2301_76868495/89574100

镜像包上部分:https://download.csdn.net/download/2301_76868495/89574094

镜像包下部分:https://download.csdn.net/download/2301_76868495/89574103

因为CSDN上传资源限制1GB以内,所有镜像文件大小有3GB多,只能拆开来上传,下载下来可以整合到一个目录中就行

harbor部署操作

        这里需要先安装 docker 和 docker-compose ,安装比较简单,就省略掉了,可以自行网查安装流程,安装的版本不重要,使用最近的安装包即可!!!

# 查看当前 docker 版本

root@docker-35:/usr/local/src# docker -v
Docker version 26.0.0, build 2ae903e

# 查看当前 docker-compose 版本

root@docker-35:/usr/local/src# docker-compose -v
Docker Compose version v2.23.3

 # 准备好脚本,导入镜像;注意将下载下来的镜像整合在一个目录中,使用脚本一键导入镜像到docker本地仓库中

root@harbor-100:/usr/local/src/harbor-arm-install# cat load.sh 
#!/bin/bash

# 批量导出docker镜像_在此处填写镜像文件的保存目录
DIR=`pwd`
IMAGE_DIR="$DIR/package_harbor/" # 注意这里是镜像所在的目录
for IMAGE in `ls $IMAGE_DIR`
do
  echo -e "正在导入镜像 \033[33m$IMAGE\033[0m"
  docker load -i ${IMAGE_DIR}/${IMAGE}
  echo -e "已成功导入镜像 \033[33m$IMAGE\033[0m"
  echo ""
done

#  如果没有权限,给执行权限,然后执行


root@docker-35:/usr/local/src# chmod +x load.sh 

root@docker-35:/usr/local/src# ./load.sh

# 大概就这些包


# 解压软件包,进入目录

root@docker-35:/usr/local/src# unzip harbor-v2.3.4.zip
root@docker-35:/usr/local/src/# cd harbor-v2.3.4/


#  复制配置文件,保持良好的备份风格

root@docker-35:/usr/local/src/harbor_v2.3.4/harbor# cp harbor.yml.tmpl harbor.yml

# 修改harbor配置(根据需要修改域名账号密码)
root@docker-35:/usr/local/src/harbor_v2.3.4/harbor# vim harbor.yml
修改地方一:修改默认域名
hostname: harbor.hjf.com 
  
修改二:注释https相关
# https related config
# https:
  # https port for harbor, default is 443
  # port: 443
  # The path of cert and key files for nginx
  # certificate: /your/certificate/path
  # private_key: /your/private/key/path 
  
修改地方三:密码(选)
harbor_admin_password: harbor123


# 修改 install.sh 安装文件,注释掉默认的导入当地镜像(这个我们在上面已经操作过,直接使用)

root@docker-35:/usr/local/src/harbor_v2.3.4/harbor# vim install.sh 
.....
 61 then
 62     h2 "[Step $item]: loading Harbor images ..."; let item+=1
 63     # docker load -i ./harbor*.tar.gz
 64 fi
 65 echo ""
 

# 修改 prepare 文件,使用自己导入的镜像(修改的地方是红色的区域)

root@docker-35:/usr/local/src/harbor_v2.3.4/harbor# vim prepare 
docker run --rm -v $input_dir:/input \
                    -v $data_path:/data \
                    -v $harbor_prepare_path:/compose_location \
                    -v $config_dir:/config \
                    -v /:/hostfs \
                    --privileged \
                    goharbor/prepare:dev-arm prepare $@


# 如果文件没有执行权限,授予执行权限(防止执行安装报错)

root@docker-30:/usr/local/src/harbor# chmod +x common.sh 
root@docker-30:/usr/local/src/harbor# chmod +x install.sh 
root@docker-30:/usr/local/src/harbor# chmod +x prepare 

# 正式安装harbor,产生docker-compose.yml文件

root@docker-30:/usr/local/src/harbor# ./install.sh 

## 8、查看是否安装成功,容器有在运行
root@docker-30:/usr/local/src/harbor# docker ps

# 添加docker信任此域名

root@docker-30:/usr/local/src/harbor# vim /etc/docker/daemon.json 
{
  "exec-opts": [
    "native.cgroupdriver=systemd"
  ],
  "registry-mirrors": ["https://7eb34l3e.mirror.aliyuncs.com"],
  "insecure-registries":["harbor.gf.com","192.168.10.30"]
}

# 重置配置,重启docker

root@docker-30:/usr/local/src/harbor# systemctl daemon-reload 
root@docker-30:/usr/local/src/harbor# systemctl restart docker

# 在对应目录,启动harbor容器
root@docker-30:/usr/local/src/harbor# docker-compose start

# 在电脑hosts文件设置域名解析

[dealmon3w@Dealmon3w~ ]% vim /etc/hosts  
 192.168.10.30 harbor.hjf.com

 # 谷歌/Firefox浏览器访问,账户密码登陆

访问:harbor.gf.com
账户是: admin
密码: harbor123

# docker login登陆harbor,在harbor页面添加目录apps

root@docker-35:/usr/local/src# docker login -u admin -p harbor123  harbor.hjf.com

# 随便找一个镜像,打标签,测试推送镜像

root@docker-35:/usr/local/src# docker tag 9a4277dcc9ff harbor.hjf.com/apps/app01:v1.0.1 
root@docker-35:/usr/local/src# docker push harbor.hjf.com/apps/app01:v1.0.1 
 

到此,harbor部署流程完成!!!

GitHub 加速计划 / ha / harbor
23.24 K
4.68 K
下载
Harbor 是一个开源的容器镜像仓库,用于存储和管理 Docker 镜像和其他容器镜像。 * 容器镜像仓库、存储和管理 Docker 镜像和其他容器镜像 * 有什么特点:支持多种镜像格式、易于使用、安全性和访问控制
最近提交(Master分支:3 个月前 )
969384cd enable job service to set MAX_JOB_DURATION_SECONDS in the jobservice container to customize max job duration fork gocraft/work to goharbor/work Signed-off-by: stonezdj <stone.zhang@broadcom.com> 1 天前
66c98c81 Some developers are no longer working on Harbor. I'm removing them from assignees list. Signed-off-by: Daniel Jiang <daniel.jiang@broadcom.com> 5 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐