CentOS7.3部署镜像仓库Harbor

参考文档:

1. os

Server:CentOS-7-x86_64-1611(CentOS 7.3)

IP:10.11.51.71

2. docker

Docker: version 1.12.6, build 78d1802

Docker-compose:version 1.16.1, build 6d1ac21

3. harbor(截止20171026)

Harbor: version 1.2.2

1. 部署docker-compose

2. 下载harbor

3. 配置harbor.cfg 

4. 配置后端存储(optional)

默认情况下,harbor存储images在本地文件系统,但生产环境中会有更稳定的后端存储代替本地文件系统。

5. 安装harbor服务

harbor服务由以下容器组件提供:

harbor-log:运行rsyslogd的日志服务,通过log-drive的形式收集其余容器的日志,映射在宿主机的/var/log/harbor/目录;

registry:docker官方registry,负责保存镜像;

harbor-db:harbor的数据库,保存系统的job及项目、人员权限管理;

harbor-adminserver:harbor系统管理接口,可以修改系统配置以及获取系统信息;

harbor_ui:harbor ui,核心服务;

harbor_jobservice:harbor的job管理模块,主要是为了镜像仓库之前同步使用;

nginx:反向代理,负责流量转发与安全验证,对外提供的流量都是从nginx中转,它将流量分发到后端的ui与正在docker镜像存储的docker registry。 

6. 访问harbor ui

默认用户名/密码:admin/Harbor12345

登陆后可见左侧的模块:项目/日志/系统管理(含用户管理、复制管理、配置管理);右上角账户下有功能模块:用户设置/修改密码;

非系统管理员账号登陆时,只能看到有权限的项目与日志,其余模块不可见。

1. 在web ui创建项目

web ui homepage—>+项目,按规范填写项目名称,这里级别设置”私有”,即不勾选(勾选后会变为”公开”);如果设置为公共仓库,则所有人对此项目下的镜像拥有读权限,命令行中不需要执行”docker login”即可下载镜像,镜像操作与docker hub一致。

2. 为项目添加镜像

上传完毕后可登陆web ui,进入相应项目查看,如下:

3. 添加项目成员

web ui homepage—>系统管理—>用户管理—>+用户

可将用户设置为管理员,或进行删除操作。

web ui homepage—>项目—>harbor_1—>成员—>+成员,填写新建的账号并给定角色

可对成员角色进行变更或者删除成员。

4. 同步复制(仅介绍步骤)

同步复制需要2个harbor服务,如果将10.11.51.71做主节点,则新服务器可做复制节点。

web ui homepage—>项目—>harbor_1—>复制—>+复制规则,url是目标节点的地址,用户名/密码使用admin账号,勾选启用则开始同步image。

5. 查看日志(项目中也可查看日志)

web ui homepage—>日志,操作日志按时间顺序记录。

1. 常规操作

2. 修改harbor.cfg的操作

3. 移除harbor服务容器同时保留镜像数据/数据库

4. 移除harbor服务容器全部数据(重新部署时采用)

Mirror是registry的一种特殊类型,起到类似代理服务器的缓存作用,在docker hub与client之间做镜像的缓存。

基本工作原理:client pull 1个镜像时,若镜像在mirror服务器存在,则直接从mirror服务器拉取;若不存在则由mirror服务器自动代理从docker hub(可配置)中拉取镜像,并缓存到mirror服务器中;当client再次拉取这个镜像时,直接从mirror服务器中拉取,不需要再次从docker hub中拉取。

1. 配置mirror server

2. 重启harbor服务

3. 修改客户端docker启动参数

4. 验证

CentOS7.3部署镜像仓库Harbor插图 

web ui homepage—>日志,操作的是公共镜像,所以用户为anonymous,项目是默认的library。

web ui homepage—>项目—>library—>镜像仓库,操作的是公共镜像,项目是默认的library。

另外发现在项目中查看缓存有延迟现象,即已生效的缓存不会立即在web ui中显示。

1. 本地登陆registry报错

原因:docker login/pull/push等对registry的操作默认启用https,但这里harbor设置的是采用http。

解决方案:修改docker服务启动参数,在/etc/sysconfig/docker文件中的OPTIONS中增加”–insecure-registry 10.11.51.71″ (centos7中默认没有/etc/sysconfig/docker文件,可以手工添加,同步修改启动文件/usr/lib/systemd/system/docker.service调用此参数文件)

原文链接:https://www.cnblogs.com/netonline/archive/2017/12/29/8144181.html

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享