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
cd /opt/harbor
docker-compose ps  #8个容器支持
docker-compose up -d
docker-compose down

开机自动启动: cat >>/etc/rc.d/rc.local<<EOF cd /opt/harbor/ && docker-compose up -d EOF chmod +x /etc/rc.d/rc.local

2.Harbor部署 # tar zxvf harbor-offline-installer-v1.6.1.tgz # cd harbor  # vi harbor.cfg  hostname = 192.168.16.120   ui_url_protocol = http  harbor_admin_password = Harbor12345 # ./prepare  # ./install.sh

3.配置Harbor http//:192.168.16.120 admin/Harbor12345

创建项目:ops、project  私有项目,library 公有项目 创建用户:denggao/P@ssw0rd 项目授权:角色 项目管理员

注:公共镜像仓库无需登录即可下载,登录才开上传。私有镜像仓库需要登录上传与下载。

4.配置http镜像仓库可信任 # vi /etc/docker/daemon.json  {"registry-mirrors": ["http://f1361db2.m.daocloud.io"], "insecure-registries":["192.168.16.120"] } # systemctl restart docker

5.推送镜像到镜像仓库 docker login 192.168.16.120   #公有私有仓库推送都需要认证 denggao/P@ssw0rd docker tag  php:v1 192.168.16.120/library/php:v1 docker push 192.168.16.120/library/php:v1 docker tag  nginx:v1 192.168.16.120/library/nginx:v1 docker push 192.168.16.120/library/nginx:v1 docker tag  tomcat:v1 192.168.16.120/library/tomcat:v1 docker push 192.168.16.120/library/tomcat:v1

6.下载镜像 docker pull 192.168.16.120/library/php:v1 docker pull 192.168.16.120/library/nginx:v1 docker pull 192.168.16.120/library/tomcat:v1