千家信息网

Docker私有仓库的部署-----Harbor

发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,一、HarborHarbor 是 VMware 公司开源的企业级 Docker Registry 项目:(1)Harbor 的优势:基于角色控制;基于镜像的复制策略;支持 LDAP / AD;图像删除
千家信息网最后更新 2025年12月01日Docker私有仓库的部署-----Harbor

一、Harbor

Harbor 是 VMware 公司开源的企业级 Docker Registry 项目:
(1)Harbor 的优势:

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

(2)Harbor 架构组成:
1、Proxy:通过一个前置的反向代理统一接受浏览器,Docker客户端的请求,并将请求转发给后端不同的服务。
2、Registry:负责存储 Docker 镜像,并处理 docker push/pull 命令。
3、Core services:Harbor的核心功能,包括 UI、webhook、token 服务。
4、Database:为 core services 提供数据库服务。
5、Log collector:负责收集其他组件的 log,供日后进行分析。

二、私有仓库的优点:

其实,私有库的镜像最原始来源还是从公库中下载的,但是企业公司中为什么不都直接使用公库下载需要的镜像呢,允许使用 registry 搭建本地私有仓库,具备这些公库不具备的优点:
1、节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可;
2、提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人员使用。
接下来,具备来搭建一下 docker私有仓库:

(1)安装相关软件包:

安装 harbor:[root@localhost abc]# tar zvxf harbor-offline-installer-v1.2.2.tgz -C /usr/local/安装 docker-compose:[root@localhost abc]# cp docker-compose /usr/bin///将docker-compose 复制到/bin/目录下,系统识别后,就可以直接使用 docker-compose命令了。

(2)修改 harbor.cfg 配置文件:

(3)启动

[root@localhost local]# cd harbor/[root@localhost harbor]# lscommon                     docker-compose.yml     harbor.v1.2.2.tar.gz  NOTICEdocker-compose.clair.yml   harbor_1_1_0_template  install.sh            preparedocker-compose.notary.yml  harbor.cfg             LICENSE               upgrade[root@localhost harbor]# sh /usr/local/harbor/install.sh   //开启


(4)查看镜像和容器是否都已启动:

docker images      //查看镜像docker ps -a       //查看容器docker-compose ps  //查看容器


(5)验证:用浏览器访问 192.168.220.131
用户名和密码等信息可以在 harbor.cfg 这个文件中,都可以查询到,如果不修改,默认的为:
用户名:admin
密 码:Harbor12345

(6)手动创建镜像(点击 "+项目"):创建一个名为 myproject-kgc 的项目:

(7)镜像创建好之后,回到控制台,可以通过 docker 命令在本地通过 127.0.0.1 来登录和推送镜像:

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

(8)从公库中下载一个镜像再上传到私库中

[root@localhost harbor]# docker pull cirros    //下载镜像[root@localhost harbor]# docker tag cirros 127.0.0.1/myproject-kgc/cirros:v1   //镜像更换标签


(9)将刚刚打好标签的镜像上传到私库中

[root@localhost harbor]# docker push 127.0.0.1/myproject-kgc/cirros


(10)上传好之后,我们就可以在 Harbor 中看到这个镜像了:

(11)再打开一台虚拟机,作为客户端,连接 Harbor ,来上传和下载镜像:
1、首先要修改 /usr/lib/systemd/system/docker.service 配置文件,关联上私库,添加以下代码(一定要添加,否则会出现报错):

--insecure-registry 192.168.220.131


2、加载

systemctl daemon-reload    //重载systemctl restart docker   //重启

3、登录

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


4、现在我们可以在这台客户机上下载私库中已经有的镜像:

docker pull 192.168.220.131/myproject-kgc/cirros:v1


5、或者从公库中下载一个镜像,再打标签,上传到私库中:

[root@localhost ~]# docker pull cirros[root@localhost ~]# docker tag cirros:latest 192.168.220.131/myproject-kgc/cirros:v2[root@localhost ~]# docker push 192.168.220.131/myproject-kgc/cirros:v2


6、此时,Harbor 中可以发现,又多了一个新上传的镜像:

7、我们也可以将我们常用的镜像下载下来,打好标签上传到私库中:

[root@localhost ~]# docker pull nginx[root@localhost ~]# docker tag nginx:latest 192.168.220.131/myproject-kgc/nginx:v1[root@localhost ~]# docker push 192.168.220.131/myproject-kgc/nginx:v1

8、此时,Harbor 就会多出一个新镜像:

三、管理私库:

[root@localhost harbor]# docker-compose down -v       //关闭所有容器

[root@localhost harbor]# docker-compose up -d


添加用户:用户管理 -----> 创建用户 (注意密码需要大写+小写)

[root@localhost ~]# docker logout http://192.168.220.131[root@localhost ~]# docker login http://192.168.220.131

镜像 仓库 私有 用户 公库 公司 容器 标签 命令 客户 文件 项目 服务 企业 优点 密码 浏览器 用户名 控制 浏览 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 员工量化积分管理软件开发 江苏南通互联网服务器 数据库api集成平台 使用ip盒子中转服务器 擎天软件提示数据库文件 网络安全保护法亮点分析 pcb软件开发流程 服务器整个映射到公网安全吗 达梦数据库的用户限制表 卫生健康网络安全信息汇报 日租卡服务器免流 广州智慧园区软件开发怎么收费 魔兽世界 pve 服务器 我国网络安全发展现状及形势展望 网络安全领域重点保护哪些领域 软件开发技术大专学校 研究网络安全问题的背景 网络安全宣传周六载体 我的世界1.9.0服务器 中山大学查重数据库 中国广电互联网科技 加强网络技术防护 华为账号登录连接不了服务器 网络技术与应用电子课本 收银机服务器地址删除了怎么恢复 网络安全策略包括哪几种 平安人寿深圳软件开发前端招聘 数据库更换字段名 数据库从其他表统计 反欺诈系统软件开发环境
0