Dokcer 运维 - Harbor 私有仓库实战
Posted serendipity_cat
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dokcer 运维 - Harbor 私有仓库实战相关的知识,希望对你有一定的参考价值。
Dokcer 运维 - Harbor 私有仓库实战
一、Harbor 概述
Harbor 能够提供可视化的 Web 管理界面,可以方便管理 Docker 镜像,而且提供了多个项目的镜像权限管理及控制功能
Harbor 的优势
- 基于角色控制:有管理员与普通用户,可赋权普通用户,比如只能上传和下载,可根据项目来进行操作和管理
- 基于镜像的复制策略:也与权限相关,比如有只一些用户与组才能对此项目进行相对应的操作
- 支持 LDAP/AD:域控制,比如南京去下载北京 harbor
私有仓库的镜像,两端打上局域网的地址,连接在一块,数据信息的传输通过一条隧道,会通过两层加密,第一层为隧道加密,第二层为数据加密,安全可靠 - 图像删除和垃圾收集:即回收站机制
- 图形 UI:具有统计功能,比如访问量与镜像下载热度
- 审计:日志,这里意义不大,主要还是借助于 ELK
- 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.100 | docker-ce、docker-compose、harbor |
客户端 | 192.168.0.200 | docker-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
#将文件上传并解压至
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
以上是关于Dokcer 运维 - Harbor 私有仓库实战的主要内容,如果未能解决你的问题,请参考以下文章