资讯专栏INFORMATION COLUMN

一步一步教会搭建harbor仓库

IT那活儿 / 3517人阅读
一步一步教会搭建harbor仓库
点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!


harbor概述

容器技术越来越或火,越成熟,容器应用的开发和运行始终离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境的Registry也是非常必要的。 
所以Harbor孕育而生,Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。

Harbor的主要功能

  • 基于角色的访问控制:用户与Docker镜像仓库通过“项目”进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不同的权限。

  • 基于镜像的复制策略:镜像可以在多个Registry实例中复制(可以将仓库中的镜像同步到远程的Harbor,类似于MySQL主从同步功能),尤其适合于负载均衡,高可用,混合云和多云的场景。

  • 图形化用户界面:用户可以通过浏览器来浏览,检索当前Docker镜像仓库,管理项目和命名空间。

  • 审计管理:所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。

  • 部署简单: 提供在线和离线两种安装工具, 也可以安装到vSphere平台虚拟设备。

harbor搭建

1. 搭建准备

  • Linux CentOS 7
  • Docker(20.10.9)下载地址:https://download.docker.com/linux/static/stable/x86_64/
  • Docker-compose(v2.6.0)  
    https://github.com/docker/compose/releases
  • Harbor(1.10.10)  
    https://github.com/goharbor/harbor/releases
  • 服务配置
    最低要求:CPU2核/内存4G/硬盘40G;
    推荐:CPU4核/内存8G/硬盘300G。
2. 开始搭建
2.1 docker安装
将安装包文件上传到服务器目录并解压。
将解压出来的docker文件内容移动到 /usr/bin/ 目录下。
将docker注册为service,在/etc/systemd/system目录下创建docker.service文件,并配置如下内容保存。
添加文件权限并启动docker,执行如下命令。
安装成功,查看版本。
2.2 docker-compose安装
上传docker-compose并复制到/usr/bin/目录下,并给执行权限。
安装成功,查看版本。
2.3 harbor安装
上传harbor压缩包,并解压。
进入harbor目录给予以下文件执行权限:
修改harbor.yml文件。

:以实际行数为准,只供参考

  • 修改第五行 hostname 为主机ip或域名;
  • 注释第13行 https;
  • 注释第15行 port: 443;
  • 修改第34行 harbor_admin_password,设置一个admin用户的密码;
  • 修改第47行 data_volume,修改harbor的数据目录;
  • 修改第120行 location,修改harbor的日志目录。
启动harbor,执行harbor目录下的install.sh文件:
验证是否成功。
在/etc/docker/下创建daemon.json文件,并配置阿里镜像加速以及修改harbor地址为可信任源。
通过浏览器搜索在harbor.yml里设置的hostsname进行访问。

默认密码为:admin/Harbor12345。

harbor维护

容器
功能
harbor-core
配置管理中心
harbor-db
PG数据库
harbor-jobservice
负责镜像复制
harbor-log
记录操作日志
harbor-portal
Web管理页面和API
nginx
前端代理,负责前端页面和镜像上传/下载转发
redis
会话
registryctl
镜像存储
  • 容器数据持久化目录(可更改):/data
  • 日志文件目录(可更改):/var/log/harbor
  • 数据库做好定期备份。

配置harbor主从复制

1. 主备

  • 简单,主挂了切到备Harbor;
  • 同一时间只有一台提供服务;
  • 适合少量镜像下载。

2. 双主

  • 双向配置复制;
  • 两台同时提供服务;
  • 前面增加负载均衡器。

3. 一主多从

  • 多个从同步主;
  • 适合多地区业务、大量镜像下载需求。
4. 主从配置步骤
  • 提供者:选择Harbor;

  • 目标名:自定义,可填一个具有声明意义的名称;

  • 描述:自定义,可备注目标仓库的一些信息;

  • 目标URL:对端仓库的地址;

  • 访问ID:目标仓库的用户名;

  • 访问密码:访问ID的密码;

  • 验证远程证书:如果对端用的是自签证书或者非信任证书的话不要勾选此项。

  • 名称:自定义,有声明意义;
  • 描述:自定义,备注规则中仓库信息;
  • 复制模式
    Push-based:从本地仓库推送到远程仓库,双主模式两个harbor同时配置;
    Pull-based:从远程仓库拉去到本地仓库,一主多从模式的从库可配置,主从模式从库可配置;
  • 目标仓库/源仓库:对端仓库地址,在仓库管理中添加;
  • 资源过滤器:指定根据什么来同步;
  • 触发模式:一般选择事件驱动,这样主库已更新就会同步。

docker基础命令使用以及镜像下载上传

1. 主机连接harbor仓库命令

docker login 目标仓库地址:端口
输入账号密码:
2. 退出连接
docker logout 目标仓库地址:端口
3. 从docker仓库下载任意镜像
docker pull 镜像名称。
4. 查看下载镜像
docker images


5. 查看已启动的镜像
docker ps  -a=历史启动过的镜像。
6. 镜像重命名
docker tag 原镜像名称 仓库地址/项目名称/镜像:镜像版本。
7. 上传镜像到私有仓库及验证
docker push 仓库地址/项目名称/镜像:镜像版本。

本文作者:罗 啸(上海新炬王翦团队)

本文来源:“IT那活儿”公众号

       

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129361.html

相关文章

  • 可能是最详细的部署:Docker Registry企业级私有镜像仓库Harbor管理WEB UI

    摘要:私有仓库是,并在中运行。不要使用或为主机名注册表服务需要由外部客户端访问或,默认为用于访问和令牌通知服务的协议。打开或关闭,默认打开打开此属性时,准备脚本创建私钥和根证书,用于生成验证注册表令牌。 上一篇文章搭建了一个具有基础功能,权限认证、TLS 的私有仓库,但是Docker Registry 作为镜像仓库,连管理界面都没有,甚至连一些运维必备的功能都是缺失的,还有什么 Docker...

    沈俭 评论0 收藏0
  • 步一搭建react应用-部署

    摘要:前端前端构建后的目录下的文件可以写个脚本到服务器,但这里借用一下的部署功能来部署前端代码。 线上地址 git地址 一步一步构建一个react应用-开篇 推荐浏览器开发者工具开启手机设备模式 装环境 前提:买个ESC、弹性公网ip、域名 设置服务器免密登录 本地应该都有.ssh目录,并且生成了公私钥,将本地id_rsa,id_rsa.pub scp到服务器 /.ssh目录 之所以把私钥也...

    roadtogeek 评论0 收藏0
  • 步一搭建react应用-部署

    摘要:前端前端构建后的目录下的文件可以写个脚本到服务器,但这里借用一下的部署功能来部署前端代码。 线上地址 git地址 一步一步构建一个react应用-开篇 推荐浏览器开发者工具开启手机设备模式 装环境 前提:买个ESC、弹性公网ip、域名 设置服务器免密登录 本地应该都有.ssh目录,并且生成了公私钥,将本地id_rsa,id_rsa.pub scp到服务器 /.ssh目录 之所以把私钥也...

    mikyou 评论0 收藏0
  • 基于 Harbor 搭建 Docker 私有镜像仓库

    摘要:的每个组件都是以容器的形式构建的,使用来对它进行部署。登录输入用户名,默认密码或已修改密码登录系统。 showImg(https://segmentfault.com/img/remote/1460000012261129?w=1280&h=786); 什么是 Harbor? 第一次使用这个的时候是刚进公司处理的第一个任务的时候,发现 Harbor 就是一个用于存储和分发 Docker...

    lvzishen 评论0 收藏0
  • Helm 3 使用 harbor 作为仓库存储 charts

    摘要:简介本文讲述的是调教和的经验,从更新到并且将推送到中进行存储,移除了原先的在讲述怎么操作之前先来看一下和的新特性。按时安装这里为了简化测试操作,我关闭了数据卷的挂载并使用的是方式进行访问。 简介 本文讲述的是调教 Helm 3 和 harbor 1.6+ 的经验,从 helm2 更新到 helm 3 并且将 charts 推送到 harbor 中进行存储,移除了原先的 helm ser...

    Richard_Gao 评论0 收藏0
  • Docker Registry Server 搭建,配置免费HTTPS证书,及拥有权限认证、TLS

    摘要:上一篇文章搭建了一个具有基础功能的私有仓库,这次来搭建一个拥有权限认证的私有仓库。移动证书到目录。身份验证为用户创建一个带有一个条目的密码文件,密码为创建仓库启动注册表,指示它使用证书。注册表在端口默认的端口上运行。 上一篇文章搭建了一个具有基础功能的私有仓库,这次来搭建一个拥有权限认证、TLS 的私有仓库。 环境准备 系统:Ubuntu 17.04 x64 IP:198.13.48...

    liuchengxu 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<