1.Harbor概述

Habor是由VMWare公司开源的容器镜像仓库。事实上,Habor是在Docker Registry上进行了相应的 企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访 问控制 ,AD/LDAP集成以及审计日志等,足以满足基本企业需求。
官方地址:https://vmware.github.io/harbor/cn/
组件 功能 harbor-adminserver 配置管理中心 harbor-db Mysql数据库 harbor-jobservice 负责镜像复制 harbor-log 记录操作日志 harbor-ui Web管理页面和API nginx 前端代理,负责前端页面和镜像上传/下载转发 redis 会话 registry 镜像存储

2.Harbor部署

Harbor安装有3种方式: 
• 在线安装:从Docker Hub下载Harbor相关镜像,因此安装软件包非常小 
• 离线安装:安装包包含部署的相关镜像,因此安装包比较大 
• OVA安装程序:当用户具有vCenter环境时,使用此安装程序,在部署OVA后启动Harbor

# tar zxvf harbor-offline-installer-v1.6.1.tgz
# cd harbor 
# vi harbor.cfg 
hostname = 10.206.240.188/域名   
ui_url_protocol = http 
harbor_admin_password = 123456  #默认密码为Harbor12345 
# ./prepare 
# ./install.sh

3. 基本使用

1、配置http镜像仓库可信任
# vi /etc/docker/daemon.json 
{"insecure-registries":["reg.ctnrs.com"]}
# systemctl restart docker
2、打标签
# docker tag centos:6 reg.ctnrs.com/library/centos:6
3、上传
# docker push reg.ctnrs.com/library/centos:6
4、下载
# docker pull reg.ctnrs.com/library/centos:6

4.实战演练

1.安装Docker Compose
官网:https://docs.docker.com/compose/
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

2.Harbor部署
# tar zxvf harbor-offline-installer-v1.6.1.tgz -C /opt/
# cd /opt/harbor 
# vi harbor.cfg 
hostname = 192.168.16.120  
ui_url_protocol = http 
harbor_admin_password = Harbor12345
注:其实只需要更改hostname才可以使用harbor
# ./prepare 
# ./install.sh

查看端口:
# netstat -tnlp|grep 80
开机自动启动:
# cat >>/etc/rc.d/rc.local< 
  

Docker入门与应用实战之企业级镜像仓库Harbor_第1张图片


使用admin/Harbor12345登录,跳转如下界面

Docker入门与应用实战之企业级镜像仓库Harbor_第2张图片

创建私有项目,名称分别为ops、project


Docker入门与应用实战之企业级镜像仓库Harbor_第3张图片

Docker入门与应用实战之企业级镜像仓库Harbor_第4张图片

Docker入门与应用实战之企业级镜像仓库Harbor_第5张图片

创建用户

Docker入门与应用实战之企业级镜像仓库Harbor_第6张图片

Docker入门与应用实战之企业级镜像仓库Harbor_第7张图片

Docker入门与应用实战之企业级镜像仓库Harbor_第8张图片

客户端配置http镜像仓库可信任,并推送镜像到镜像仓库即可。

Docker入门与应用实战之企业级镜像仓库Harbor_第9张图片

Docker入门与应用实战之企业级镜像仓库Harbor_第10张图片

最后其它docker客户端就可以是docker pull下载所需的镜像使用了。