5、harbor单机安装

本文详细介绍了在Ubuntu18.04系统上从官网下载并进行Harbor单机安装的过程,包括解压、配置、环境检查、映射设置、部署以及后续的安全设置和镜像上传等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

harbor单机安装

harbor官方网站:Harbor (goharbor.io)

harbor下载地址:https://github.com/goharbor/harbor/releases

下载

# cat /etc/os-release |sed -n 5p
PRETTY_NAME="Ubuntu 18.04.4 LTS"

# pwd
/usr/local/src
# ls
harbor-offline-installer-v2.8.4.tgz

解压

# tar xf harbor-offline-installer-v2.8.4.tgz
# ln -sv /usr/local/src/harbor /usr/local/
'/usr/local/harbor' -> '/usr/local/src/harbor'

配置

# ls
common.sh  harbor.v2.8.4.tar.gz  harbor.yml.tmpl  install.sh  LICENSE  prepare
# cp -ar harbor.yml.tmpl harbor.yml
# vim harbor.yml 
hostname: top.swthink.local
http:
  # port for http, default is 80. If https enabled, this port will redirect to https port
  port: 80
......
#如果没有此项设置,请注释掉
#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: 123456
........

解析此域名:top.swthink.local

# vim /etc/hosts
192.168.75.131 top.swthink.local

windows映射设置路径:C:\Windows\System32\drivers\etc\hosts

192.168.75.131 top.swthink.local

部署

/usr/local/src/harbor# ./install.sh 

[Step 0]: checking if docker is installed ...

Note: docker version: 24.0.2

[Step 1]: checking docker-compose is installed ...

Note: Docker Compose version v2.18.1

[Step 2]: loading Harbor images ...
Loaded image: goharbor/harbor-jobservice:v2.8.4
Loaded image: goharbor/redis-photon:v2.8.4
Loaded image: goharbor/harbor-log:v2.8.4
Loaded image: goharbor/harbor-db:v2.8.4
Loaded image: goharbor/nginx-photon:v2.8.4
Loaded image: goharbor/prepare:v2.8.4
Loaded image: goharbor/harbor-core:v2.8.4
Loaded image: goharbor/trivy-adapter-photon:v2.8.4
Loaded image: goharbor/harbor-portal:v2.8.4
Loaded image: goharbor/registry-photon:v2.8.4
Loaded image: goharbor/notary-server-photon:v2.8.4
Loaded image: goharbor/notary-signer-photon:v2.8.4
Loaded image: goharbor/harbor-registryctl:v2.8.4
Loaded image: goharbor/harbor-exporter:v2.8.4


[Step 3]: preparing environment ...

[Step 4]: preparing harbor configs ...
prepare base dir is set to /usr/local/src/harbor
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/portal/nginx.conf
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


Note: stopping existing Harbor instance ...


[Step 5]: starting Harbor ...
[+] Building 0.0s (0/0)                                                                                                               
[+] Running 10/10
 ✔ Network harbor_harbor        Created                                                                                          0.1s 
 ✔ Container harbor-log         Started                                                                                          1.6s 
 ✔ Container registryctl        Started                                                                                          4.3s 
 ✔ Container redis              Started                                                                                          3.4s 
 ✔ Container harbor-portal      Started                                                                                          6.4s 
 ✔ Container registry           Started                                                                                          5.4s 
 ✔ Container harbor-db          Started                                                                                          7.1s 
 ✔ Container harbor-core        Started                                                                                          8.1s 
 ✔ Container harbor-jobservice  Started                                                                                          9.4s 
 ✔ Container nginx              Started                                                                                         10.5s 
✔ ----Harbor has been installed and started successfully.----

#如遇到检测环境当中没有安装docker-compose的话先安装

# apt-get install python3-pip
# pip install docker-compose

查看本地端口

root@ubuntu-n1:~# ss -ntl |grep 80
LISTEN   0         80                127.0.0.1:3306             0.0.0.0:*       
LISTEN   0         128                       *:80                     *:*       

访问

打开浏览器访问:http://top.swthink.local/

登录

账号:admin 密码:123456

在这里插入图片描述

新建项目

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

上传镜像

安全设置

上传镜像之前,先做个可以允许不安全访问设置,如下:

# vim /lib/systemd/system/docker.service

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock  --insecure-registry top.swthink.local  #增加--insecure-registry top.swthink.local

#重启docker重启加载文件生效
# systemctl daemon-reload 
# systemctl restart docker

#重启后harbor服务掉了,重启开启一下。
# docker compose -f /usr/local/src/harbor/docker-compose.yml up -d   #-d后台运行

登录docker login

# docker login top.swthink.local
Username: admin
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

root@ubuntu-n1:~# cat /root/.docker/config.json 
{
	"auths": {
		"registry.cn-hangzhou.aliyuncs.com": {
			"auth": "c3d0aGluazY6c3dfNzMzMTcwMg=="
		},
		"top.swthink.local": {          #此为当前登录的账号密码,在此保存
			"auth": "YWRtaW46MTIzNDU2"
		},
		"top.swthink.local:5000": {
			"auth": "YWRtaW46MTIzNDU2"
		}
	}

重新打标签

# docker tag registry.cn-hangzhou.aliyuncs.com/swthink/nginx:v1 top.swthink.local/nginx/nginx:v1.20.1

上传镜像

# docker push top.swthink.local/nginx/nginx:v1.20.1
The push refers to repository [top.swthink.local/nginx/nginx]
ea1c707d70dc: Mounted from web-nginx/nginx 
c9e336ac6f75: Mounted from web-nginx/nginx 
a38eb85e912e: Mounted from web-nginx/nginx 
174f56854903: Mounted from web-nginx/nginx 
v1.20.1: digest: sha256:a0a8e5ca7b2ce8a55ce8aeba54e3dacc22cc4e0d83dc6017f13a6c624131660b size: 1161

验证是否上传成功

在这里插入图片描述

OK!!!

### 安装 Harbor 容器镜像仓库 #### 准备工作 在安装 Harbor 前,需确保满足以下条件: - 已准备好一台 Linux 主机(推荐 CentOS 或 Ubuntu),并具备 DockerDocker Compose 的运行环境。 - 如果是离线环境,则需要提前下载对应的离线安装包 `harbor-offline-installer-vX.X.X.tgz`[^3]。 --- #### 离线安装流程 以下是基于离线环境的 Harbor 单机安装步骤: 1. **获取离线安装包** 通过官方 GitHub 地址下载最新的稳定版本离线安装包。例如: ```bash curl -s https://api.github.com/repos/goharbor/harbor/releases/latest | grep browser_download_url | cut -d '"' -f4 | grep '.tgz' ``` 将返回的结果保存为文件名 `harbor-offline-installer-v2.11.2.tgz` 并上传至目标服务器。 2. **解压安装包** 解压已下载的安装包到指定目录: ```bash tar -zxvf harbor-offline-installer-v2.11.2.tgz -C /opt/ cd /opt/harbor/ ``` 3. **修改配置文件** 编辑默认配置文件 `harbor.yml`,设置必要的参数,如域名、证书路径等: ```yaml hostname: registry.example.com http: port: 80 https: port: 443 certificate: /path/to/cert.pem private_key: /path/to/key.pem admin_password: your_admin_password database: password: db_password ``` 配置完成后,建议验证语法是否正确[^1]。 4. **执行安装脚本** 使用内置的安装脚本来完成 Harbor 的初始化和部署: ```bash ./install.sh ``` 脚本会自动加载所需的容器镜像,并启动相关服务。 5. **测试访问** 打开浏览器输入配置中的主机名或 IP 地址,确认可以正常访问 Harbor Web UI 页面。登录用户名为 `admin`,初始密码可通过上述配置文件中的 `admin_password` 字段设定。 --- #### Kubernetes 集群集成 如果计划将 Harbor 整合到 Kubernetes 集群中,可以通过创建 Secret 来实现私有镜像库的身份认证: ```bash kubectl create secret docker-registry harbor-secret \ --docker-server=<your_harbor_host>:<port> \ --docker-username=<username> \ --docker-password=<password> \ -n <namespace> ``` 此命令会在指定命名空间下生成一个名为 `harbor-secret` 的密钥对象,供后续 Pod 动态拉取镜像时使用[^4]。 --- #### 后续管理与维护 Harbor 提供了丰富的功能来简化容器镜像仓库的日常操作,包括但不限于用户权限分配、项目配额限制以及审计日志记录等功能[^2]。管理员还可以定期备份数据库以防止数据丢失。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值