文章目录
一 harbor仓库简介
简介
harbor是docke的私有仓库 在docker中不指定仓库位置时 pull的镜像使用docker的公有仓库来的 由第三方制作的镜像
harbor仓库部署后 可以指定从harborpull镜像 也可以使用dockfile和dockecompose来写一个镜像 上传至私有仓库以便随时调用
和registry对比
harbor可以部署到多个容器中 也可以部署在任何一个支持docke的Linux发行版上 (registry为核心组件)
和registry相比 harbor支持多种功能 图形化界面 多用户权限管理 角色权限管理 安全机制 server端需要docker python docker compoes 组件 因为web为python写 所以需要用到python组件
核心组件
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
负责收集其他组件的日志,以供然后进行分析
健康检查等
二 部署harbor仓库
环境准备
服务器2台
server端 docker-ce docker composa harbro
client端 docker-ce
安装docker compoas docker-ce
docker本体两台都要
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 启动会检查docker-ce 和docker是否安装 没安装会包错
server端安装harbor
tar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local/ 解压文件
vim /usr/local/harbor/harbor.cfg 修改地址 指向本机
sh /usr/local/harbor/install.sh 用启动脚本启动
检查结果
docker ps
docker image
cd /usl/local/harbor
docker-compose ls
访问web界面
要访问需要做ipv4转发
vim /etc/sysctl.conf
#末行添加
net.ipv4.ip_forward = 1
sysctl -p
添加项目
创建用户
server控制台端登陆上传镜像
登录
docker login -u admin -p Harbor12345 http://127.0.0.1
上传镜像
docker pull nginx
docker login -u admin -p Harbor12345 http://127.0.0.1 登录控制台
docker tag nginx:latest 127.0.0.1/nginx/nginx:cat 打标签
docker push 127.0.0.1/nginx/nginx:cat 上传镜像
web界面查看
其他客户端上传镜像解决
Docker Registry 交互默认使用的是 HTTPS,但是搭建私有镜
像默认使用的是 HTTP 服务,所以与私有镜像交互时出现错误
vim /usr/lib/systemd/system/docker.service
添加 --insecure-registry serverIP
systemctl daemon-reload
systemctl restart docker