Dokcer 运维 - Harbor 私有仓库实战

一、Harbor 概述

Harbor 能够提供可视化的 Web 管理界面,可以方便管理 Docker 镜像,而且提供了多个项目的镜像权限管理及控制功能

Harbor 的优势

  1. 基于角色控制:有管理员与普通用户,可赋权普通用户,比如只能上传和下载,可根据项目来进行操作和管理
  2. 基于镜像的复制策略:也与权限相关,比如有只一些用户与组才能对此项目进行相对应的操作
  3. 支持 LDAP/AD:域控制,比如南京去下载北京 harbor
    私有仓库的镜像,两端打上局域网的地址,连接在一块,数据信息的传输通过一条隧道,会通过两层加密,第一层为隧道加密,第二层为数据加密,安全可靠
  4. 图像删除和垃圾收集:即回收站机制
  5. 图形 UI:具有统计功能,比如访问量与镜像下载热度
  6. 审计:日志,这里意义不大,主要还是借助于 ELK
  7. RESTful API:定义 Web 语言规范的格式,方便调用 Harbor 的接口,也便于二次开发

二、Harbor 的核心组件

1.Proxy

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

2.Registry

负责储存 Docker 镜像
处理 docker push/pull 命令来上传和下载

3.Core services

Harbor 的核心功能,包括UI、webhook、 token 服务

webhook:网站的一些服务功能

token:令牌,提供身份验证服务

4.Database

为 core services 提供数据库服务
数据库记录镜像的元信息及用户的身份信息

5.Log collector

负责收集其他组件的日志,以供然后进行分析
健康检查等

三、Harobor 私有仓库实战

主机IP地址软件包
服务器192.168.0.100docker-ce、docker-compose、harbor
客户端192.168.0.200docker-ce

① 环境配置

安装 Docker-CE [两台都需要]
安装 Docker-Compose [服务器]

curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose 
docker-compose --version

② 部署 harbor

Harbor官方下载地址

#将文件上传并解压至
tar -zxvf harbor-offline-installer-v2.2.2.tgz -C /usr/local

cd /usr/local/harbor

#配置参数
mv harbor.yml.tmpl harbor.yml
vim harbor.yml
#旧版本文件名harbor.cfg
#vim harbor.cfg

hostname = 192.168.0.100
#用于访问用户界面和register服务,指向目标IP或域名,注,这里不要使用localhost或127.0.0.1
#https
  #port:443
#将https注释掉,新版如果不填写ssl_cert(证书的路径)就会安装报错

#开始安装harbor
./install.sh 

③ 检查 Harbor 状态

docker images
docker ps -a


④ 新建项目进行测试

服务端测试

访问Harbor站点:http://192.168.0.100

账户admin
密码Harbor12345



Harbor服务器控制台内操作

#登录账户
docker login -u admin -p Harbor12345 http://127.0.0.1

docker pull cirros
#打标签
docker tag cirros:latest 127.0.0.1/hellocat/cirros:cat
#上传至harbor
docker push 127.0.0.1/hellocat/cirros:cat

返回页面站点查看项目

客户端测试

#修改Docker配置
vim /usr/lib/systemd/system/docker.service

ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry 192.168.0.100 --containerd=/run/containerd/containerd.sock

systemctl daemon-reload
systemctl restart docker

docker login -u admin -p Harbor12345 http://192.168.0.100

docker pull cirros
#打标签
docker tag cirros:latest 192.168.0.100/hellocat/cirros:dog
#上传至harbor
docker push 192.168.0.100/hellocat/cirros:dog

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值