Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >集成Harbor镜像仓库(HTTPS)

集成Harbor镜像仓库(HTTPS)

作者头像
Criss@陈磊
发布于 2019-08-01 11:20:15
发布于 2019-08-01 11:20:15
2K0
举报
文章被收录于专栏:测试技术圈测试技术圈

一、下拉镜像

Harbor主页在:https://vmware.github.io/harbor/,Harbor是由Vmware中国团队开发并开源的Docker镜像仓库

点击“INSTALL GUIDE OFHARBOR“链接到github。

安装方式非常简便,https://github.com/vmware/harbor/releases页面选择要下载的安装包。有在线安装与离线安装两类可选,建议先在线安装实验一次(离线安装是把依赖的镜像数下载下来)。

比如下载了harbor-online-installer-v1.1.2.tgz,

wgethttps://github.com/vmware/harbor/releases/download/v1.1.2/harbor-online-installer-v1.1.2.tgz

解压它:tar xvf harbor-online-installer-v1.1.2.tgz,进入解压后的目录:

在线安装时在此步并不下拉镜像,在下面的启动部分才开始下拉镜像。

二、配置

  1. 配置harbor.cfg。

重点关注下面几项:

hostname = reg.myhub.comui_url_protocol = httpsssl_cert = /root/cert/reg.myhub.com.crtssl_cert_key = /root/cert/reg.myhub.com.keyharbor_admin_password = Harbor12345

hostname =reg.myhub.com就是你Harbor主机的hostname,也可以是IP;

ui_url_protocol=https,指定走https协议;

ssl_cert =/root/cert/reg.myhub.com.crt

ssl_cert_key =/root/cert/reg.myhub.com.key 指定证书地址,如果是内网就自己生成证书,公网用就购买证书吧。

harbor_admin_password = Harbor12345 指定你登陆Harbor的管理员密码,当然是建议你改一下,不然大家都知道这个密码了。

2 证书配置

由于咱们配置了证书,内网咱们自己生成证书。

创建证书目录:

mkdir –p /root/cert/

进入 / root /cert目录,创建CA认证:

1 创建CA证书openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt2 生成证书签名请求openssl req -newkey rsa:4096 -nodes -sha256 -keyout reg.myhub.com.key -out reg.myhub.com.csr3 生成主机证书openssl x509 -req -days 365 -in reg.myhub.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out reg.myhub.com.crt如果想用IP访问就做如下操作: echo subjectAltName = IP:192.168.4.101 > extfile.cnf openssl x509 -req -days 365 -in reg.myhub.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -extfile extfile.cnf -out reg.myhub.com.com.crt4 拷贝证书到客户端cp ca.crt /etc/docker/certs.d/reg.myhub.com/ca.crt

如果机器要通过docker loginreg.myhub.com登陆仓库,需要cp ca.crt /etc/docker/certs.d/reg.myhub.com/ca.crt。/etc/docker/certs.d/reg.myhub.com/目录不存在时自己创建,注意是复制ca.crt,不是reg.myhub.com.crt。

三、启动容器

在harbor目录:

./install

一切顺利可以看到

docker ps可以看到有7个容器

Proxy:Harbor 的 registry,UI, token 等服务,通过一个前置的反向代理统一接收浏览器、Docker 客户端的请求,并将请求转发给后端不同的服务。

Registry:负责储存 Docker 镜像,并处理 dockerpush/pull 命令。由于我们要对用户进行访问控制,即不同用户对 Docker image 有不同的读写权限,Registry 会指向一个 token 服务,强制用户的每次 docker pull/push 请求都要携带一个合法的 token, Registry 会通过公钥对 token 进行解密验证。

Coreservices:这是 Harbor 的核心功能,主要提供以下服务:

UI:提供图形化界面,帮助用户管理 registry 上的镜像(image),并对用户进行授权;

webhook:为了及时获取registry 上 image 状态变化的情况,在 Registry 上配置 webhook,把状态变化传递给 UI 模块;

token 服务:负责根据用户权限给每个 docker push/pull 命令签发 token。Docker 客户端向Registry 服务发起的请求,如果不包含 token,会被重定向到这里,获得 token 后再重新向 Registry进行请求;

Database:为 coreservices 提供数据库服务,负责储存用户权限、审计日志、Docker image 分组信息等数据。

Log collector:为了帮助监控 Harbor 运行,负责收集其他组件的 log,供日后进行分析。各个组件之间的关系如下图所示:

通过https://reg.myhub.com进行访问,如果你是在Window机器上访问时无法解析reg.myhub.com,请在hosts中加一行配置:

[ip] reg.myhub.com

docker登陆:

四、修改默认的https端口

默认Https端口是443,如果你想修改访问端口。修改三个文件:

Harbor目录下的docker-compose.yml文件:

主要是红色圈住部分,8088是Http访问端口,8443是Https访问端口,80是nginx的默认端口,443是nginx默认的https访问端口。

common/templates/nginx/nginx.https.conf,此文件作为harbor配置模板,我们修改如下部分:

指定转发的https端口。

common/templates/registry/config.yml 文件,修改如下:

加上一个端口,默认是443。

然后再一次./install。会删除先前的配置,重新配置,然后启动Harhor相关的容器。

访问http://reg.myhub.com:8088时自动定向到https://reg.myhub.com:8443。

此时我们用docker login reg.myhub.com:8443登陆时会报错,需要在登陆的机器上加上证书,路径是

/etc/docker/certs.d/reg.myhub.com:8433/ca.crt。先前咱们的路径是/etc/docker/certs.d/reg.myhub.com,由于端口变了此路径要随之变化。

五、集成Harbro到Rancher

INFRASTRUCTURE-Registries中添加一个注册,Rancher会读取此配置。

前面咱们配置的Https端口是8443,在此配置如下:

如果Harbor admin密码没修改就填写Harbor12345。

如果你不修443端口为8443,在此就不用设置端口,直接https://reg.myhub.com。

如果你不想在此配置镜像仓库的访问账号,你可以修改Docker的启动参数,可以参考官网:

https://docs.docker.com/engine/reference/commandline/dockerd/

使用--registry-mirror指定镜像仓库地址。

也可以修改/etc/docker/daemon.json文件(与版本有关,我使用的是docker1.13版本),加入registry-mirrors的地址,然后重启docker(servicedocker restart)。

{ "registry-mirrors": ["https://192.168.4.101:8443"]}

六、测试连通

Shell容器打一个镜像tag,然后上传到reg.myhub.com:8443。

1 从官方下载一个nginx镜像:docker pull nginx

2 Harbor仓库中建立一个devops项目,并且设置为公开。

3 打一个tag:

docker tag nginx:latest reg.myhub.com:8443/devops/nginx:0.1

4 上传些镜像到reg.myhub.com:8443仓库:

docker push reg.myhub.com:8443/devops/nginx:0.1

5 Rancher中建立容器:

有人可能不喜欢有端口(8443)在地址栏,在镜像连接串中,你可以保持默认的443端口。

Harbor现在已经加入到了Rancher的应用商店,所以还可以直接在Rancher Catalog中加入Harbor。

在Catalog中搜索Harbor

View Details:

其中harbor-host=192.168.4.102,habor-lb-host=192.168.4.102是label,需要在Host中进行配置。

配置完成后提交,Rancher帮助建立一个名为project-harbor的栈,harbor-lb是Rancher提供的Haproxy代理,proxy是Harbor自带的nginx代理。

登陆密码默认是Vmware123!。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-04-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 质问 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
harbor搭建企业docker私有镜像仓库
# curl -fsSL https://get.docker.com/ | sh
聂伟星
2020/07/12
2.7K0
docker-企业级镜像仓库harbor
 Habor是由VMWare公司开源的容器镜像仓库。事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访问控制,AD/LDAP集成以及审计日志等,足以满足基本企业需求。
yuezhimi
2020/09/30
5890
docker-企业级镜像仓库harbor
docker安装harborps
通过github获取离线安装包,地址:https://github.com/goharbor/harbor/releases,可以根据自己的需要下载自己需要的release版本,这里使用的是v2.2.1,下载对应的离线安装包[harbor-
ruochen
2021/12/04
1.6K0
Harbor .v1.10.2 私有镜像仓库的自签CA证书、安装使用【超详细官方文档翻译说明】
在以前搭建docker镜像私有仓库的时候,我都是使用registery搭建。本篇章来尝试另一个新的镜像仓库Harbor。
Devops海洋的渔夫
2020/04/22
4.9K0
Centos7安装Docker私服Harbor
    Harbor是由供职在VMWARE的几个中国人合伙研发,市面上已经存在众多Docker私服,为啥还会出现Harbor?因为Harbor的重心不同于其他,Harbor的重心在于管理。如:不同的人看到不同的镜像,多私服联通等等,并且贴合国情,量身打造的。中文页面,更是降低了入门门槛。官方网站:https://vmware.github.io/harbor/cn
尚浩宇
2018/08/17
9320
Harbor 入门指南
Harbor 是由 VMware 开源的一款云原生制品仓库,Harbor 的核心功能是存储和管理 Artifact。Harbor 允许用户用命令行工具对容器镜像及其他 Artifact 进行推送和拉取,并提供了图形管理界面帮助用户查看和管理这些 Artifact。在 Harbor 2.0 版本中,除容器镜像外,Harbor 对符合 OCI 规范的 Helm Chart、CNAB、OPA Bundle 等都提供了更多的支持。
Se7en258
2021/08/20
17.8K3
云原生时代必须具备的核心技能之Docker高级篇(Harbor-镜像私服)
  本文给大家介绍下Docker中的常用的镜像私服仓库,DockerHub和Harbor镜像私服仓库。
用户4919348
2022/01/06
4990
云原生时代必须具备的核心技能之Docker高级篇(Harbor-镜像私服)
外包精通--企业级镜像仓库Harbor
Harbor是VMware公司最近开源的企业级Docker Registry项目, 其目标是帮助用户迅速搭建一个企业级的Docker registry服务,即能存储自己的镜像又有安全认证。
Godev
2023/06/25
5380
docker基础:私库系列:再探Harbor:(4) https方式的私库管理
在前面的介绍中,缺省使用了http的方式,而考虑安全的角度,容器的仓库在生产环境中往往被设定为https的方式,而harbor将这些证书的创建和设定都进行了简单的集成,这篇文章来看一下在harbor下如何使用https的方式。
全栈程序员站长
2022/09/09
3470
私有镜像仓库Harbor
Docker守护进程将.crt文件解释为CA证书,将.cert文件解释为客户端证书。 所以需要将服务器转换yourdomain.com.crt为yourdomain.com.cert
仙人技术
2020/04/28
4K0
Harbor1.9 部署并配置https
为什么要使用https协议 因为不用 https 协议的话,docker 客户端需要修改配置,如果 docker 客户端多的话配置起来就很麻烦。 版本信息 OS:CentOS Linux 7.6 Release Docker:18.09.6 Docker-compose:1.24.1 Harbor:harbor-offline-installer-v1.9.0 IP:172.0.0.11 1. 安装docker 1.1 配置repository: yum install -y yum-utils devic
HaydenGuo
2020/02/05
1.8K0
Harbor1.9 部署并配置https
Harbor镜像仓库(含clair镜像扫描) - 完整部署记录
Harbor环境部署的要求:系统版本在Centos7.5以上、内核版本在4.4X以上、ip_forward路由转发功能要打开。
洗尽了浮华
2020/11/24
1.9K0
Harbor镜像仓库(含clair镜像扫描) - 完整部署记录
安装Harbor仓库
安装Harbor安装docker# 安装 apt 依赖包apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common# 添加 Docker 的官方 GPG 密钥curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
小陈运维
2022/11/16
1.2K1
Docker实践(二):Harbor搭建私有Registry
Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,由VMware中国研发团队负责开发的开源企业级Registry项目。作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全,提升用户使用Registry构建和运行环境传输镜像的效率。Harbor支持安装在多个Registry节点的镜像资源复制,镜像全部保存在私有Registry中,确保数据和知识产权在公司内部网络中管控。另外,Harbor也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。
loong576
2019/09/10
1K0
Docker实践(二):Harbor搭建私有Registry
011.Docker仓库管理
docker 仓库,即 registry,实现了镜像的管理、分发,同时还包括用户的认证。docker registry 仓库是一个无状态的、高可靠的服务器应用程序,用来存储docker镜像。docker.io 为 docker 官方的仓库,默认所有的pull均是从官方仓库拉取镜像。
木二
2019/07/26
6712
Harbor 2.2.0 搭建与使用​
Harbor 本地安装支持在线和离线,另外也可以部署到 Kubernetes 中。这里采用本地在线安装方式。
叨叨软件测试
2021/06/16
1.3K0
Harbor 2.2.0 搭建与使用​
Kubernetes 之 Harbor 仓库
Docker 容器应用的开发和运行离不开可靠的镜像管理,虽然 Docker 官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的 Registry 也是非常必要的。Harbor 是由 VMware 公司开源的企业级的 Docker Registry 管理项目,它包括权限管理(RBAC)、AD/LDAP集成、日志审核、管理界面、自我注册、镜像复制和中文支持等功能,在新版本中还添加了Helm仓库托管的支持。
民工哥
2021/04/21
1.8K0
Harbor边缘部署文档
若使用http提供服务,则需要修改Docker配置文件并重启,故使用https提供服务,故需配置tls
用户9350068
2022/03/06
1.5K0
利用 Harbor 搭建企业级私有镜像仓库
背景 docker中要使用镜像,一般会从本地、docker Hup公共仓库和其它第三方公共仓库中下载镜像,一般出于安全和外网(墙)资源下载速率的原因考虑企业级上不会轻易使用。那么有没有一种办法可以存储自己的镜像又有安全认证的仓库呢—-> 企业级环境中基于Harbor搭建自己的安全认证仓库。 Harbor是VMware公司最近开源的企业级Docker Registry项目, 其目标是帮助用户迅速搭建一个企业级的Docker registry服务。 安装Harbor harbor需要安装docker和docke
民工哥
2020/09/15
1K0
利用 Harbor 搭建企业级私有镜像仓库
搭建 Harbor 私有镜像仓库
什么是 Harbor? ---- harbor 是 VMware 公司开源的企业级 DockerRegistry 项目,项目地址为 https://github.com/vmware/harbor。其目标是帮助用户迅速搭建一个企业级的 Docker registry 服务。它以 Docker 公司开源的 registry 为基础,提供了管理UI,基于角色的访问控制(Role Based Access Control),AD/LDAP集成、以及审计日志(Auditlogging) 等企业用户需求的功能,同时还
keepyan
2018/12/13
1.8K0
搭建 Harbor 私有镜像仓库
相关推荐
harbor搭建企业docker私有镜像仓库
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档