参考文档:
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. 验证
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