harbor搭建和基础使用
简介
内容来自AI总结
Harbor 是一个开源的企业级镜像仓库,它为容器镜像和其他云原生制品提供存储、安全扫描和管理功能。
Harbor 最初由VMware 开源,现在是CNCF 托管项目,其主要目标是为企业提供一个安全、可信、高效的镜像管理平台。
以下是Harbor 的一些主要特点和功能:
-
镜像存储和管理:
Harbor 能够安全地存储Docker 镜像、Helm charts、CNAB 包等云原生制品,并提供方便的访问和管理接口。
-
权限控制和访问管理:
Harbor 支持基于角色的访问控制(RBAC),可以精细地管理用户对镜像仓库的访问权限,确保镜像的安全性。
-
镜像复制和分发:
Harbor 允许用户在不同的Harbor 实例之间复制镜像,方便多地部署和镜像分发。
-
镜像扫描和安全策略:
Harbor 集成了镜像扫描工具(如Clair 或Trivy),可以对镜像进行安全漏洞扫描,帮助用户发现和解决潜在的安全问题。
-
用户认证和授权:
Harbor 支持多种用户认证方式,如LDAP、OIDC 等,可以与企业的用户管理系统集成。
-
丰富的UI 界面:
Harbor 提供直观的Web UI 界面,方便用户管理和操作镜像仓库。
-
多租户支持:
Harbor 通过项目隔离,支持多租户环境,方便不同团队或组织独立管理各自的镜像仓库。
-
日志审计:
Harbor 提供详细的操作日志和审计功能,方便管理员追踪和审计用户操作。
-
Helm Chart 仓库支持:
Harbor 支持Helm Chart 仓库,方便用户管理和分发Helm 包。
总而言之,Harbor 是一个功能强大、安全可靠的企业级镜像仓库,它为容器化应用提供了全面的镜像管理和分发解决方案
Docker搭建
前往 https://github.com/goharbor/harbor/releases/latest 下载最新版,记得选offline离线版的
wget https://github.com/goharbor/harbor/releases/download/v2.13.1/harbor-offline-installer-v2.13.1.tgz

下载后解压
tar -zxvf harbor-offline-installer-v2.13.1.tgz
解压后修改配置文件:
cd harbor
cp harbor.yml.tmpl harbor.yml
vim harbor.yml
harbor.yml 内容修改如下:
# 修改hostname的值,如果没有域名就使用本机IP地址
hostname: 172.20.1.2
# 配置启动端口号
# http related config
http:
# port for http, default is 80. If https enabled, this port will redirect to https port
port: 9000
# 如果没有申请证书,需要隐藏https
# 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
#启动成功后,admin用户的登录密码
harbor_admin_password: Harbor12345!
database:
# 数据库密码
password: root123!
执行install.sh生成docker-compose文件,以及启动容器:
./install.sh
至此访问 http://172.20.1.2:9000 即可正常访问。

上传/下载镜像
创建好项目

进入项目后,右边有比较详细的推送命令

理论上按照推送即可,但一般情况下没配置域名,需要配置docker忽略安全风险,如下:
{
"insecure-registries":["172.20.1.2:9000"]
}
此时即可使用docker登录harbor仓库,并按照命令推送/下载。
docker login 172.20.1.2:9000
docker tag rustdesk/rustdesk-server:latest 172.20.1.2:9000/scan/rustdesk-server:1.1
docker push 172.20.1.2:9000/scan/rustdesk-server:1.1
docker pull 172.20.1.2:9000/scan/rustdesk-server@sha256:3960fae20f3af2af671d6800fa6e8a52d70367879716c8b6e53f55044dc4d837


其他
如果需要使用纯命令行进行harbor操作,可参考官方提供的cli:https://github.com/goharbor/harbor-cli,如下命令列出 scan/rustdesk-server 的版本:
harbor artifact list scan/rustdesk-server