好物优选点击查看详情 京东购买

暂无内容

教你如何用Harbor 私有镜像仓库搭建

教你如何用Harbor 私有镜像仓库搭建插图

一、Harbor是什么?

Docker有个形象的比喻叫集装箱,kubernetes是舵手,而Harbor是港湾,其实是用来保存容器镜像的仓库,企业使用docker、kubernetes时,一般都需要个私有镜像仓库的,Harbor就是其中的佼佼者。官方的解释:Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器。

教你如何用Harbor 私有镜像仓库搭建插图1

二、Harbor的架构

harbor的整体架构还是很清晰的,下面简单介绍一下,下图展示harbor主要的功能组件和信息流向。

教你如何用Harbor 私有镜像仓库搭建插图2

Proxy: Harbor的registry、UI、token services等组件,都处在一个反向代理后边。该代理将来自浏览器、docker clients的请求转发到后端服务上。

Registry: 负责存储Docker镜像,以及处理Docker push/pull请求。因为Harbor强制要求对镜像的访问做权限控制, 在每一次push/pull请求时,Registry会强制要求客户端从token service那里获得一个有效的token。

Core services: Harbor的核心功能,主要包括如下3个服务:

UI: 作为Registry Webhook, 以图像用户界面的方式辅助用户管理镜像。1) WebHook是在registry中配置的一种机制, 当registry中镜像发生改变时,就可以通知到Harbor的webhook endpoint。Harbor使用webhook来更新日志、初始化同步job等。2) Token service会根据该用户在一个工程中的角色,为每一次的push/pull请求分配对应的token。假如相应的请求并没有包含token的话,registry会将该请求重定向到token service。3) Database 用于存放工程元数据、用户数据、角色数据、同步策略以及镜像元数据。

Job services: 主要用于镜像复制,本地镜像可以被同步到远程Harbor实例上。

Log: 负责收集其他模块的日志到一个地方

教你如何用Harbor 私有镜像仓库搭建插图3

三、Harbor使用

1、安装 docker

1.1 安装依赖

## 安装依赖 yum install -y yum-utils device-mapper-persistent-data lvm2

1.2 添加阿里云yum源

yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

1.3 更新yum源及安装Docker-ce

yum update -y && yum install -y docker-ce

1.4 编写daemon.json配置文件

mkdir /etc/docker ## 创建 /etc/docker 目录 ## 配置 daemon. insecure-registries 是后续用来访问 harbor 私有仓库的, 表示可信任的仓库地址 ## 192.168.3.155:9999为harbor私服的地址和端口 cat > /etc/docker/daemon.json <<eof< span=""> { "exec-opts": [ "native.cgroupdriver=systemd" ], "log-driver": "json-file", "registry-mirrors": [ "https://tosnxdv7.mirror.aliyuncs.com" ], "log-opts": { "max-size": "100m" }, "insecure-registries": [ "192.168.3.193" ] } EOF</eof<>

1.5 重启docker服务

systemctl daemon-reload && systemctl restart docker && systemctl enable docker

2、安装 docker-compose

wget https://linux-soft-ware.oss-cn-shenzhen.aliyuncs.com/docker-compose chmod +x docker-compose mv docker-compose /usr/local/bin

3、安装 Harbor

3.1 下载Harbor

wget https://github.com/goharbor/harbor/releases/download/v2.1.4/harbor-offline-installer-v2.1.4.tgz

3.2 解压

## 创建解压目录 mkdir /usr/app ## 解压到指定目录 tar xf harbor-offline-installer-v2.1.4.tgz -C /usr/app

3.3 编辑harbor.yml配置文件

vi /usr/app/harbor cp harbor.yml.tmpl harbor.yml vim /usr/app/harbor.yml hostname: 192.168.3.193 # 修改为自己的IP地址或者域名 # http related config ## 删除下面的https配置 http: # port for http, default is 80. If https enabled, this port will redirect to https port port: 80 # 修改登录Harbor的web端密码(用于管理界面的登录) harbor_admin_password: 123456

4、安装 harbor

4.1 安装Harbor

./harbor/install.sh

4.2 访问 harbor

输入 https://192.168.3.193, 输入 admin/12345

教你如何用Harbor 私有镜像仓库搭建插图4

5、测试能否登陆私有仓库

5.1 在客户端编辑Docker配置文件

vi /etc/docker/daemon.json ### 编辑内容如下: } "exec-opts": [ "native.cgroupdriver=systemd" ], "log-driver": "json-file", "registry-mirrors": [ "https://tosnxdv7.mirror.aliyuncs.com" ], "log-opts": { "max-size": "100m" }, ## 添加Harbor仓库的地址(必须添加) "insecure-registries": [ "192.168.3.193" ] } 

5.2 加载配置文件重启Docker服务

systemctl daemon-reload && systemctl restart docker

5.3 使用docker login测下,是否成功

docker login 192.168.3.193 Username: admin Password: 123456

教你如何用Harbor 私有镜像仓库搭建插图5

6、测试镜像上传和下载

6.1 docker tag打标签

docker tag nginx:latest 192.168.3.193/test/nginx:V2

6.2 docker push 推送镜像到仓库

 docker push 192.168.3.193/test/nginx:V2

6.3 docker pull 拉取镜像

docker pull 192.168.3.193/test/nginx:V2

原文链接:https://blog.csdn.net/sD7O95O/article/details/115804330

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享