Docker private warehouse deployed --- Harbor (example demonstrates !!!)

Harbor Overview

Harbor是VMware公司开源的企业级Docker Registry项目

Harbor advantage

基于角色控制
基于镜像的复制策略
支持LDAP/AD
图像删除和垃圾收集
图形UI
审计
RESTful API

Harbor architecture composition

Proxy

通过一个前置的反向代理统一接受浏览器,Docker客户端的请求,并将请求转发给后端不同的服务

Registry

负责存储Docker镜像。并处理docker push/pull 命令

Core services

Harbor的核心功能,包括UI、webhook、token服务
UI:提供网络页面
token:令牌
Webhook:微服务中的回调机制

Database

为core services提供数据库服务

Log collector

负责收集其他组件的log,供日后进行分析

Docker private warehouse architecture topology:

Here Insert Picture Description

用户请求通过Proxy反向代理访问Core services,UI提供web界面,token令牌,你第一次登录之后服务器会给你一串序列号,下次直接登录就行,你需要下载的镜像信息,属性,都存放在后面的database,再通过webhook回调去registry私有仓库调取镜像。这一系列的操作都存放在日志中。

Harbor deploy the service instance demo

1. Basic deployment environment

#挂载资源包
mount.cifs //192.168.142.1/docker /mnt

切换挂载目录
cd /mnt

#复制控制命令到系统中
cp docker-compose /usr/local/bin

#查看版本信息
docker-compose -v

#解压harbor资源包
tar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local

2. Configuration parameters Harbor

#切换至解压点目录
cd /usr/local/harbor/

#编辑Harbor配置
vim harbor.cfg 
#在第五行指定私库地址
hostname = 192.168.142.149

#使用脚本启动Harbor
./install.sh

3. Remote login Harbor

#登录harbor,默认管理员admin,密码Harbor12345
docker login -u admin -p Harbor12345 http://127.0.0.1

#关闭防火墙和安全功能
systemctl stop firewalld.service
setenforce 0

Log in using the browser Harbor
Here Insert Picture Description

4. Establish a project, and upload the image Harbor

Here Insert Picture Description
Here Insert Picture Description

#下载镜像
docker pull cirros

#为镜像打标签
docker tag cirros 127.0.0.1/my/cirros:v1

#上传镜像到Harbor
docker push 127.0.0.1/my/cirros:v1

Here Insert Picture Description

#登出私库
docker logout http://127.0.0.1

5. Create a new user Harbor

Here Insert Picture Description

#新建用户异地登录
docker login -u czt -p Czt12345 http://192.168.142.149

You can add users and roles to the project
Here Insert Picture Description

6. Use docker-compose manage Harbor

#移除Harbor服务容器同时保留镜像数据/数据库
docker-compose down -v

#执行脚本来填充配置
./prepare

#重新创建并启动Harbor服务容器
docker-compose up -d

#报错解决
#关闭防火墙,重启docker
systemctl restart docker
docker-compose up -d

#如需重新部署,需要移除Harbor服务容器全部数据
#先移除Harbor服务容器同时保留镜像数据/数据库
docker-compose down -v

#删除harbor服务容器全部数据
rm -rf /data/database/
rm -rf /data/registry/

thanks for reading!!!

Guess you like

Origin blog.51cto.com/14449521/2466494