harbor2.0安装文档

写在前面

Harbor 教程:https://www.hxstrive.com/subject/harbor/3126.htm

harbor默认管理员账号:admin
harbor默认管理员密码:Harbor12345

准备

1、更新yum repo,使用阿里云源。

  • 备份内置repo源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

image.png
  • 从阿里云更新下载源
curl -o /etc/yum.repos.d/CentOS-Base.repo http:``//[mirrors.aliyun.com/repo/Centos-7.repo](http://mirrors.aliyun.com/repo/Centos-7.repo)

image.png
  • 清理旧的更新源缓存,并更新新的更新源缓存
    yum clean all
    yum makecache
image.png
image.png

开始安装Harbor ,安装方式有两种:

  • 在线安装:从 Docker Hub 下载 Harbor 相关镜像,因此安装软件包非常小,安装耗时依赖网速。

  • 离线安装:安装包包含部署的相关镜像,安装包比较大(下面采用离线安装)。

1、从 Harbor 官方网站(https://github.com/goharbor/harbor/releases)下载合适版本的 Harbor 离线安装包。例如,下载 harbor-offline-installer-v1.10.19.tgz,如下图:

image.png

1、登录服务器,今入/opt 目录。

  • 下载较慢,耐心等待。
  • 如果实在太慢,可以先下载到本地,再上传到服务器目录。
wget https://github.com/goharbor/harbor/releases/download/v2.0.0/harbor-offline-installer-v2.0.0.tgz

image.png
image.png

3、由于 Harbor 是基于 Docker 和 Docker Compose 的,所以需要先安装它们:

  • 安装 Docker

  • 安装依赖工具:sudo yum install -y yum-utils


    image.png
  • 使用以下命令来设置稳定的仓库:

  • 使用阿里云仓库,推荐:

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

image.png
  • 安装最新版本的 Docker-CE 和 containerd 执行如下命令:
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

image.png
  • 查看docker版本:docker version


    image.png
  • 配置Docker 仓库地址

  • 查看 /etc/docker 下面是否存在 daemon.json 文件,这是一个 JSON 格式的文件。如果存在,则直接修改;如果不存在,则创建一个新的 daemon.json 文件

  • 将下面内容写入到 daemon.json 文件

<pre>{
    "registry-mirrors": [ "https://docker.m.daocloud.io" ]
}

  • 然后重启docker服务
systemctl restart docker    #重启docker服务
systemctl enable docker      #配置开机自启

4、安装 docker-compose

  • 推荐使用官方安装脚本进行安装,步骤如下:
  • 运行以下命令下载并安装 Docker Compose:(下载可能会有一些慢,耐心等待一下)
[root@localhost docker]# sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
100 60.8M  100 60.8M    0     0  58552      0  0:18:09  0:18:09 --:--:-- 71641

  • 赋予执行权限:
<pre>[root@localhost bin]# sudo chmod +x /usr/local/bin/docker-compose</pre>

  • 查看版本信息
<pre>[root@localhost ~]# docker-compose --version
Docker Compose version v2.29.7

5、解压harbor安装包:

[root@localhost opt]# tar -xvzf harbor-offline-installer-v2.0.0.tgz 
harbor/harbor.v2.0.0.tar.gz
harbor/prepare
harbor/LICENSE
harbor/install.sh
harbor/common.sh
harbor/harbor.yml.tmpl

6、配置harobr

  • 进入解压后的 Harbor 目录,找到 harbor.yml.tmpl 文件,将其复制为 harbor.yml(如果已经存在 harbor.yml 文件,则直接修改,或者先备份该文件):
[root@localhost harbor]# cp harbor.yml.tmpl harbor.yml

  • 修改配置如下

  • 注意,可以将上面的“hostname”修改为你的主机 IP 地址。


    image.png
  • 修改后如下:


    image.png

7、安装 Harbor
执行 prepare 脚本
在 Harbor 安装过程中,prepare 脚本是一个非常重要的步骤。它主要用于生成配置文件和证书等相关操作。这个脚本会根据 harbor.yml 配置文件中的内容,为 Harbor 的部署做前置准备工作。例如:

[root@localhost harbor]# ./prepare
prepare base dir is set to /opt/harbor
Unable to find image 'goharbor/prepare:v2.0.0' locally
v2.0.0: Pulling from goharbor/prepare
836b6c765c93: Pull complete 
7d2118468cd6: Pull complete 
ec361edd3da3: Pull complete 
96018abb76c1: Pull complete 
93a6102d0a5d: Pull complete 
5ee1acfc0e3d: Pull complete 
2b88cfa69516: Pull complete 
5081e058f91e: Pull complete 
Digest: sha256:529596e839c481354f9652b3f598b0aa634c57015840d047295dc65a27ffd880
Status: Downloaded newer image for goharbor/prepare:v2.0.0
WARNING:root:WARNING: HTTP protocol is insecure. Harbor will deprecate http protocol in the future. Please make sure to upgrade to https
Generated configuration file: /config/log/logrotate.conf
Generated configuration file: /config/log/rsyslog_docker.conf
Generated configuration file: /config/nginx/nginx.conf
Generated configuration file: /config/core/env
Generated configuration file: /config/core/app.conf
Generated configuration file: /config/registry/config.yml
Generated configuration file: /config/registryctl/env
Generated configuration file: /config/registryctl/config.yml
Generated configuration file: /config/db/env
Generated configuration file: /config/jobservice/env
Generated configuration file: /config/jobservice/config.yml
Generated and saved secret to file: /data/secret/keys/secretkey
Successfully called func: create_root_cert
Generated configuration file: /compose_location/docker-compose.yml
Clean up the input dir

没有抛出错误信息,脚本执行成功。

8、执行 install 脚本

Harbor 的 install.sh 脚本是 Harbor 安装过程的核心脚本。它主要负责协调各个组件的安装和配置过程,将 Harbor 从一个未安装的状态转变为一个可以正常运行的服务。例如:

[图片上传失败...(image-326065-1736219367989)]

[图片上传失败...(image-5f9653-1736219367989)]

如果你看见了“✔ ----Harbor has been installed and started successfully.----”提示信息,恭喜 harbor 安装成功了。

  • 若要重启harbor,需要以守护进程模式启动,切换到包含docker-compose.yml文件的目录(/opt/harbor)。然后,使用以下命令来重启Harbor:
  • docker-compose up -d


    image.png
image.png

9、验证安装

  • 使用 docker ps 查看启动的容器,如下:
[root@localhost harbor]# docker ps
CONTAINER ID   IMAGE                                COMMAND                  CREATED              STATUS                        PORTS                                   NAMES
cf46c586e77e   goharbor/harbor-jobservice:v2.0.0    "/harbor/entrypoint.…"   About a minute ago   Up About a minute (healthy)                                           harbor-jobservice
c8c3975a3282   goharbor/nginx-photon:v2.0.0         "nginx -g 'daemon of…"   About a minute ago   Up About a minute (healthy)   0.0.0.0:80->8080/tcp, :::80->8080/tcp   nginx
744350d97f9e   goharbor/harbor-core:v2.0.0          "/harbor/entrypoint.…"   About a minute ago   Up About a minute (healthy)                                           harbor-core
c4775a51d596   goharbor/harbor-db:v2.0.0            "/docker-entrypoint.…"   About a minute ago   Up About a minute (healthy)   5432/tcp                                harbor-db
5734fa2f4160   goharbor/registry-photon:v2.0.0      "/home/harbor/entryp…"   About a minute ago   Up About a minute (healthy)   5000/tcp                                registry
76c74bfd888a   goharbor/redis-photon:v2.0.0         "redis-server /etc/r…"   About a minute ago   Up About a minute (healthy)   6379/tcp                                redis
c5dc3de65384   goharbor/harbor-portal:v2.0.0        "nginx -g 'daemon of…"   About a minute ago   Up About a minute (healthy)   8080/tcp                                harbor-portal
fc62007f988c   goharbor/harbor-registryctl:v2.0.0   "/home/harbor/start.…"   About a minute ago   Up About a minute (healthy)                                           registryctl
1296a7931f10   goharbor/harbor-log:v2.0.0           "/bin/sh -c /usr/loc…"   About a minute ago   Up About a minute (healthy)   127.0.0.1:1514->10514/tcp               harbor-log
[root@localhost harbor]# 

上面显示了所有 goharbor 相关的容器。

10、使用浏览器访问 http://xxx.xxx.102.15:80 地址,如下图:

image.png

11、账号密码

默认管理员账号:admin
默认管理员密码:Harbor12345


image.png

镜像上传:

1、新建项目【test-1】

image.png

2、点击镜像仓库,可以看到下载和推送命令。

image.png

3、创建用户
账号:test-1
密码:********

image.png

4、项目中添加成员

image.png

5、在本机配置harbor仓库http可信

  • /etc/docker/daemon.json中添加:"insecure-registries":["xxx.xx.102.15"]”,重启docker
  • 不然会报错,默认是走https的
  • 重启docker后,必须重启harbor,否则无法登录。
  • docker-compose down
  • docker-compose up -d


    image.png

6、登录私有镜像仓库

docker login xx.xx.102.15 -u test-1 -p *******
image.png

7、拉取公共镜像httpd

  • docker pull httpd


    image.png
  • 在项目中标记镜像:

docker tag httpd:latest 172.16.102.15/test-1/httpd:latest
image.png
  • 推送镜像到当前项目:
docker push 172.16.102.15/test-1/REPOSITORY[:TAG]
image.png
  • 查看harbor控制台,可以看到镜像已存在。


    image.png

8、退出harbor私有镜像仓库登录

image.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353

推荐阅读更多精彩内容