一。harbor简介
Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器。harbor使用的是官方的docker registry服务去完成,harbor的功能是在此之上提供用户权限管理、镜像复制(单个registy损坏)等功能,提高使用的registry的效率。
harbor提供以下企业级功能:
1.用户管理
基于角色的访问控制,RBAC,用户分为三种角色:项目管理员(MDRWS)、开发人员(RWS)和访客(RS),最高管理员权限admin系统管理员。
其中,M:管理、D:删除、R:读取、W:写入、S:查询,非常细致的权限管理体系。一个用户可以在不同的项目里面扮演不同角色,
2.项目管理
项目管理是系统最主要的一个功能模块,项目是一组镜像仓库的逻辑集合,是权限管理和资源管理的单元划分。一个项目下面有多个镜像仓库,并且关联多个不同角色的成员,镜像复制也是基于项目的,通过添加复制规则,可以将项目下面的镜像从一个harbor迁移到另一个harbor,并且可以通过日志查看复制过程,并有retry机制。
3.配置管理和日志查询
配置管理主要是配置harbor的认证模式,企业内部使用,通常都是对接到公司LDAP上面,当然harbor也支持数据库认证;还可以设置token的有效时间。用户对镜像的pull和push操作都可以被harbor记录下来,这样为排查文件提供了重要手段。
当然harbor功能不止我上面说的,譬如harbor集成了clair镜像扫描功能,它是cereos开发的一款漏洞扫描工具,可以检查镜像操作系统以及上面安装包是否与已知不安全的包版本相匹配,从而提高镜像安全性。
4.Harbor高可用部署
通过多个harbor完成高可用部署,通过负载均衡器对外提供服务。共享数据库与缓存
harbor官网:https://github.com/goharbor/harbor
二。docker安装harbor
1》下载harbor离线包
github-release下载最新版本的harbor离线包 ,目前最新版本1.7.1,上传到安装好docker的linux系统
解压缩(tar zxvf 包名)
2》下载harbor离线包
修改解压缩目录 harbor.conf(修改为主机名为你本机ip地址或者域名)
hostname = 192.168.58.144
安装(执行./install.sh) 注意必须安装docker-compose
[root@cdh2 harbor]# ./install.sh
[Step 0]: checking installation environment ...
Note: docker version: 1.12.6
✖ Need to install docker-compose(1.7.1+) by yourself first and run this script again.
如果有python的pip环境,直接安装
[root@cdh2 harbor]# pip install docker-compose
继续安装(安装过程需要下载多个镜像,速度比较慢)
[Step 4]: starting Harbor ...
Creating network "harbor_harbor" with the default driver
Creating harbor-log ... done
Creating harbor-adminserver ... done
Creating registry ... done
Creating redis ... done
Creating registryctl ... done
Creating harbor-db ... done
Creating harbor-core ... done
Creating harbor-portal ... done
Creating harbor-jobservice ... done
Creating nginx ... done
✔ ----Harbor has been installed and started successfully.----
Now you should be able to visit the admin portal at http://192.168.58.144.
For more details, please visit https://github.com/goharbor/harbor .
此时你就可以访问管理员的网站( http://192.168.58.144.) 如果无法访问重启虚拟机,重启docker
harbon默认用户名admin,密码:Harbor12345
密码定义在harbor.cfg中(如果修改了配置文件需要重新生成容器,重新执行./install.sh):
harbor_admin_password = Harbor12345
进入后界面:
如果需要重新启动使用docker-compose
docker-compose up -d 启动
docker-compose down
三。上传镜像到harbor
harbor使用的http协议,docker上传都使用https,需要修改docker添加不安全的regisity
修改: /etc/docker/daemon.json(注意不要添加端口,否则无效)
{
"insecure-registries":["192.168.58.144"]
}
重启docker,重启harbor
service docker restart
docker-compose up -d
在harbor管理员界面上新建一个项目myproject(可以理解一个项目由多个docker镜像(微服务)组成)
随机制作一个docker镜像,打tag
docker tag centos 192.168.58.144/项目名称(这里myproject)/centos
注意push需要登录
docker login 192.168.58.144
输入harbor的用户名和密码登录成功后
docker push 192.168.58.144/myproject/centos
最后查看管理员界面
1392

被折叠的 条评论
为什么被折叠?



