一、Harbor介绍
Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内 的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。
二、Harbor特性
基于角色的访问控制 :用户与Docker镜像仓库通过“项目”进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不同的权限。镜像复制 : 镜像可以在多个Registry实例中复制(同步)。尤其适合于负载均衡,高可用,混合云和多云的场景。图形化用户界面 : 用户可以通过浏览器来浏览,检索当前Docker镜像仓库,管理项目和命名空间。AD/LDAP 支持 : Harbor可以集成企业内部已有的AD/LDAP,用于鉴权认证管理。审计管理 : 所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。国际化 : 已拥有英文、中文、德文、日文和俄文的本地化版本。更多的语言将会添加进来。RESTful API : RESTful API 提供给管理员对于Harbor更多的操控, 使得与其它管理软件集成变得更容易。部署简单 : 提供在线和离线两种安装工具, 也可以安装到vSphere平台(OVA方式)虚拟设备。三、环境配置
1.安装docker
[root@server1 docker]# ls container-selinux-2.21-1.el7.noarch.rpm pigz-2.3.4-1.el7.x86_64.rpm docker-ce-18.06.1.ce-3.el7.x86_64.rpm policycoreutils-2.5-17.1.el7.x86_64.rpm libsemanage-2.5-8.el7.x86_64.rpm policycoreutils-python-2.5-17.1.el7.x86_64.rpm libsemanage-python-2.5-8.el7.x86_64.rpm [root@server1 ~]# systemctl start docker.service2.下载docker-compose,放在/usr/local/bin/docker-compose目录下
[root@server1 ~]# cd compose/ [root@server1 compose]# ls docker-compose-Linux-x86_64-1.16.1 docker-compose-Linux-x86_64-1.22.0 [root@server1 compose]# cp docker-compose-Linux-x86_64-1.22.0 /usr/local/bin/docker-compose [root@server1 ~]# chmod +x /usr/local/bin/docker-compose/测试:
[root@server1 compose]# docker-compose --version docker-compose version 1.22.0, build f46880fe3.安装harbor
1)解压安装包
下载链接:https://storage.googleapis.com/harbor-releases/harbor-offline-installer-v1.6.1.tgz
[root@server1 ~]# tar xvf harbor-offline-installer-v1.7.0.tgz2) 配置harbor目录下的harbor.cfg
[root@server1 ~]# cd harbor/ [root@server1 harbor]# ls [root@server1 harbor]# vim harbor.cfg ## Configuration file of Harbor # hostname设置访问地址,可以使用ip、域名,不可以设置为127.0.0.1或localhost,此处我设置为本地ip #默认是80端口,如果端口占用,我们可以去修改docker-compose.yml文件中,对应服务的端口映射。 8 hostname = 172.25.60.1 # Harbor启动后,管理员UI登录的密码,默认是Harbor12345 69 harbor_admin_password = Harbor12345 # 认证方式,这里支持多种认证方式,如LADP、本次存储、数据库认证。默认是db_auth,mysql数据库认证 73 auth_mode = db_auth # 是否开启自注册 116 self_registration = on # Token有效时间,默认30分钟 119 token_expiration = 303)启动 Harbor
修改完配置文件后,在的当前目录执行./install.sh,Harbor服务就会根据当期目录下的docker-compose.yml开始下载依赖的镜像,检测并按照顺序依次启动各。重启harbor也可以用这个脚本4)查看Harbor依赖的镜像及启动服务如下:
[root@server1 harbor]# docker images查看compose状态(此命令在harbor目录下执行):
[root@server1 harbor]# docker-compose ps启动服务:
[root@server1 harbor]# docker-compose start5) 访问Web Harbor
启动完成后,我们访问刚设置的hostname即可 http://172.16.50.37,默认是80端口,如果端口占用,我们可以去修改docker-compose.yml文件中,对应服务的端口映射。