容器镜像仓库Harbor安装部署及简单使用
上面左边是我的个人微 信,如需进一步沟通,请加好 友。 右边是我的公众号“Openstack私有云”,如有兴趣,请关注。
在实际生产中,容器镜像需要放在本地,本地需要建立一个容器镜像仓库存放相关的镜像,并且能够根据不同账号设置不同的镜像使用权限,另外,这个仓库最好还能通过web管理界面能够很好的进行管理,比如设置权限、删除镜像、管理镜像空间等等 。
Habor是由VMWare公司开源的容器镜像仓库。官方地址:https://vmware.github.io/harbor/cn/
Harbor主要功能
1. 基于角色访问控制(RBAC)
在企业中,通常有不同的开发团队负责不同的项目,镜像像代码一样,每个人角色不同需求也不同,因此就需要访问权限控制,根据角色分配相应的权限。
例如,开发人员需要对项目构建这就用到读写权限(push/pull),测试人员只需要读权限(pull),运维一般管理镜像仓库,具备权限分配能力,项目经理具有所有权限。
在Harbor中,有三种角色:
Guest:对指定项目只读权限
Developer:开发人员,读写项目的权限
Admin:项目管理,所有权限
Anonymous:当用户未登录时,该用户视为匿名用户。匿名用户不能访问私有项目,只能访问公开项目
2. 镜像复制
可以将仓库中的镜像同步到远程的Harbor,类似于MySQL主从同步功能。
3. LDAP
Harbor支持LDAP认证,可以很轻易接入已有的LDAP。
4. 镜像删除和空间回收
Harbor支持在Web删除镜像,回收无用的镜像,释放磁盘空间。
5. 图形页面管理
用户很方面搜索镜像及项目管理。
6. 审计
对仓库的所有操作都有记录。
7. REST API
完整的API,方便与外部集成
Harbor组件
组件 | 功能 |
---|---|
harbor-adminserver | 配置管理中心 |
harbor-db | Mysql数据库 |
harbor-jobservice | 负责镜像复制 |
harbor-log | 记录操作日志 |
harbor-ui | Web管理页面和API |
nginx | 前端代理,负责前端页面和镜像上传/下载转发 |
redis | 会话 |
registry | 镜像存储 |
Harbor部署:
硬件、软件、端口要求如下,以下图片来自网络:
我使用的是2核CPU、4G内存、40G的pve虚拟机一台,如下配置:
Harbor安装有3种方式:
在线安装:从Docker Hub下载Harbor相关镜像
离线安装:安装包包含部署的相关镜像
OVA安装程序:当用户具有vCenter环境时,使用此安装程序,在部署OVA后启动Harbor
这里采用离线安装,首先下载离线安装包:https://github.com/vmware/harbor/releases
HTTP方式部署
基本配置:
# tar xzvf harbor-offline-installer-v1.7.1.tgz # cd harbor # vi harbor.cfg hostname = 192.168.1.44 # IP地址或者域名访问 ui_url_protocol = http harbor_admin_password = 123456 # Web登录密码
准备配置文件: # ./prepare 安装并启动Harbor: ./install.sh 会提示需要安装docker 和 docker-compose # yum install docker docker-client docker-common 其中docker-compose需要用到epel源: # yum install epel-release -y # yum install -y docker-compose 再次执行install.sh
安装完成后:
查看运行状态:
[root@localhost harbor]# docker-compose psName Command State Ports ------------------------------------------------------------------------------------------- harbor-adminserver /harbor/start.sh Up harbor-core /harbor/start.sh Up harbor-db /entrypoint.sh postgres Up 5432/tcp harbor-jobservice /harbor/start.sh Up harbor-log /bin/sh -c /usr/local/bin/ ... Up 127.0.0.1:1514->10514/tcp harbor-portal nginx -g daemon off; Up 80/tcp nginx nginx -g daemon off; Up 0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp, 0.0.0.0:80->80/tcp redis docker-entrypoint.sh redis ... Up 6379/tcp registry /entrypoint.sh /etc/regist ... Up 5000/tcp registryctl /harbor/start.sh Up
登录web界面:
账号 admin,密码就是在harbor.cfg配置文件里面设置的123456
接下来就是简单使用,可以看到,harbor方便了管理,一般3类用户就够了,进行一个简单测试,新建一个开发用户,然将这个开发用户绑定到library项目,用这个用户登陆harbor推送和下载镜像。
具体的建用户过程就不详细写了,新建一个用户ywb,登陆,
系统会提示推送镜像需要运行的命令,还是很人性化的。
在客户端执行:
docker login 192.168.1.44
会报错https://192.168.1.44 connection refuse ,是因为docker 默认使用的是https连接,我们上面使用的是http安装,需要修改 /etc/docker/daemon.json文件,加入如下内容:
{"insecure-registries":["192.168.1.44:80"]}
或者,在 /etc/sysconfig/docker 配置文件的 OPTIONS 选项中增加一个选项:
--insecure-registry=192.168.1.44
之后对docker进行重启:
systemctl restart docker
测试过程:
1、下载一个tomcat 镜像:
docker pull tomcat
2、对这个镜像进行标记:
docker tag docker.io/tomcat 192.168.1.44/library/tomcat
3、登录harbor这个registry:
docker login 192.168.1.44
输入上面创建的账号密码。
4、上传这个镜像:
docker push 192.168.1.44/library/tomcat
最后使用个人账号登录web界面,可以看到镜像成功上传:
总结:
Harbor的安装使用都是很方便的,部署方式本身也是通过docker和容器编排docker-compose 实现 ,主要解决了局域网内的容器镜像管理问题。
这里没有使用https的方式部署,使用的是http方式,其中需要注意客户端docker中需要配置对“非安全” http的支持,加入--inscure-registry 参数的支持。
Harbor产品本身解决了本地局域网内部集中管理容器镜像的问题,如果是生产环境,可以考虑再加入同步复制的功能以确保数据的安全性,这里就不展开说,我也没用到,用到的时候再说。
转载于:https://blog.51cto.com/yuweibing/2348172
容器镜像仓库Harbor安装部署及简单使用相关推荐
- 【云原生】第十二篇--docker容器镜像仓库Harbor部署
docker容器镜像仓库Harbor部署 一.容器镜像加速器 1.1 获取阿里云容器镜像加速地址 1.2 配置docker daemon使用加速器 二.容器镜像仓库 2.1 docker hub 2. ...
- 企业级容器镜像仓库Harbor的搭建
Harbor简述 Habor是由VMWare公司开源的容器镜像仓库.事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理 ...
- 企业级Docker容器镜像仓库Harbor的搭建
Harbor简述 Habor是由VMWare公司开源的容器镜像仓库.事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理 ...
- docker.4.3-docker容器镜像加速器及本地容器镜像仓库-harbor
docker容器镜像加速器及本地容器镜像仓库 一.容器镜像加速器 由于国内访问国外的容器镜像仓库速度比较慢,因此国内企业创建了容器镜像加速器,以方便国内用户使用容器镜像. 1.1 获取阿里云容器镜像加 ...
- 3 镜像仓库Harbor安装
安装harbor之前要完成docker.docker-compose.Python的安装 (1)docker compose安装 根据 https://github.com/docker/compos ...
- 离线手动部署docker镜像仓库——harbor仓库(二)
前言: 在<离线手动部署docker镜像仓库--harbor仓库(一)>中,记录了离线部署harbor仓库的简单过程,这里主要记录修改默认访问端口80端口为1180端口的部署方式和注意点. ...
- 部署企业私有镜像仓库Harbor
私有镜像仓库有许多优点 1)节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可; 2)提供镜像资源利用,针对于公司内部使用的镜像, ...
- 拒做工具人!教你一键快速部署应用到容器镜像仓库
作者 | Cloud Toolkit 近年来,容器技术以迅雷不及掩耳之势迅速蔓延开来,容器技术基于各种场景的尝试与实践更是层出不穷,它的崛起改变了我们创建.发布与运行应用的方式,实现了资源的独立与隔离 ...
- centos7部署企业镜像仓库 Harbor
Harbor 仓库介绍 Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署私有环境内的Registry也是非常必要的. ...
- DockOne微信分享(七十七):用Harbor实现容器镜像仓库的管理和运维
本文讲的是DockOne微信分享(七十七):用Harbor实现容器镜像仓库的管理和运维[编者的话]本次分享主要讲述了在开发运维中的管理容器镜像方法.为了便于说明原理,较多地使用Harbor作为例子. ...
最新文章
- 生物科技或成最大赢家,但不止蛋白质 | Q2科技圈进展盘点
- golang nil slice 和 empty slic 的区别 空切片
- 电子管计算机的操作者是谁,大一计算机第一学期考试重点及相应习题 作者
- Windows下tcp参数优化
- 进程、线程和协程之间的区别和联系
- Android 5.x系统nfs挂载系统启动记录 nfs挂载文件记录
- du,df,fdisk,mkfs.ext3命令详解
- MaxCompute Spark 资源使用优化祥解
- 中国塑料瓶和容器市场趋势报告、技术动态创新及市场预测
- 储存服务器装什么系统,存储服务器是什么操作系统
- python : 正确复制列表的方法
- Pandas系列(一)数据读取、数据结构Dataframe和Series
- windows环境下tensorflow手把手安装教程-pip安装
- MATLAB自带插值函数
- Windows7 问题集 - McAfee、迷你迅雷、Dropbox
- nba2k21那个php是啥,NBA2K21不同版本区别介绍 各版本详细信息及奖励内容一览
- 63.android 简单的下拉刷新动画水滴效果
- JavaScript基础要点
- 获取当前时间的东八区时间
- Dubbo源码分析(三) -- Dubbo的服务发现源码深入解析4万字长文