使用Harbor搭建企业级私有docker仓库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Harbor搭建企业级私有docker仓库相关的知识,希望对你有一定的参考价值。

参考技术A

Harbor一个用于存储Docker镜像的企业级Registry服务。

Harbor核心组件解释

* Proxy:他是一个nginx的前端代理,代理Harbor的registry,UI, token等服务。

* db:负责储存用户权限、审计日志、Dockerimage分组信息等数据。

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

* jobsevice:jobsevice是负责镜像复制工作的,他和registry通信,从一个registry pull镜像然后push到另一个registry,并记录job_log。

* Adminserver:是系统的配置管理中心附带检查存储用量,ui和jobserver启动时候回需要加载adminserver的配置。

* Registry:镜像仓库,负责存储镜像文件。

* Log:为了帮助监控Harbor运行,负责收集其他组件的log,供日后进行分析。

Harbor和Registry的比较

Docker镜像是是分层的,而如果每次传输都使用全量文件(所以用FTP的方式并不适合),显然不经济。必须提供识别分层传输的机制,以层的UUID为标识,确定传输的对象。

只用镜像的名字来进行上传下载显然很不方便,需要有一个用户界面可以支持登陆、搜索功能,包括区分公有、私有镜像。

当有用户对镜像的上传下载操作集中在某服务器,需要对相应的访问压力作分解。

企业中的开发团队有很多不同的职位,对于不同的职位人员,分配不同的权限,具有更好的安全性。

kubernetes中通过namespace来对资源进行隔离,在企业级应用场景中,通过将两者进行结合可以有效将kubernetes使用的镜像资源进行管理和访问控制,增强镜像使用的安全性。尤其是在多租户场景下,可以通过租户、namespace和项目相结合的方式来实现对多租户镜像资源的管理和访问控制。

部署

1、安装docker

安装docker-ce

yum-utils 提供yum-config-manager工具,devicemapper存储需要device-mapper-persistent-data和lvm2

添加yum源仓库

官方仓库

阿里仓库

安装docker

扩展:安装指定版本的docker

启动docker,设置开机启动docker

官网安装:https://docs.docker.com/install/linux/docker-ce/centos/

配置docker中国镜像加速器,配置后重启docker

详细说明:https://www.docker-cn.com/registry-mirror

2、安装docker-compose

查看版本

3、安装harbor

从github下载harbor:https://github.com/goharbor/harbor/releases

4、管理

停止,需要进入Harbor目录/usr/local/harbor

修改配置

先停止,然后更新harbor.cfg文件,然后运行prepare,以更新配置

5、登录,默认用户名admin ,密码 Harbor12345,新建一个tomcat7仓库

6、配置docker允许使用http方式访问私仓,不然会在主机登录会出错

7、创建一个镜像并推送到tomcat7仓库

创建dockerfile,这里不把jdk环境打包进镜像,在运行容器时挂载本地jdk环境,以减小镜像大小和提升速度

####格式:私有仓库IP/项目名称/镜像名称:版本号####

push成功,去界面看下

从镜像启动容器,镜像是否正常使用,注意要使用-v参数,挂载本地jdk

我们访问下IP:32770看下

官网安装:https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md

以上是关于使用Harbor搭建企业级私有docker仓库的主要内容,如果未能解决你的问题,请参考以下文章

利用 Harbor 搭建企业级私有镜像仓库(文末赠书)

Docker私有仓库之---Harbor仓库的搭建及使用

Docker私有仓库之---Harbor仓库的搭建及使用

Docker私有仓库之---Harbor仓库的搭建及使用

Docker--------Harbor registry私有仓库搭建 [ Http ]

基于 Harbor 搭建 Docker 私有镜像仓库