CentOS7 部署Harbor私有镜像仓库

前言

目前越来越多项目上容器化了,同时项目的不断更新迭代,并且镜像也作为了项目标准交付物的时候。企业存在一个私有的镜像仓库是很有必要。而Harbor在存储与分发镜像时的安全性也是比较适合企业使用。


什么是Harbor?

Harbor 是一个开源可信云原生注册表项目,用于存储、签名和扫描内容。Harbor 通过添加用户通常需要的功能(例如安全性、身份和管理)来扩展开源 Docker Distribution。拥有更接近构建和运行环境的注册表可以提高image传输效率。Harbor 支持在注册中心之间复制镜像,还提供高级安全功能,例如用户管理、访问控制和活动审计。(官方解释)

官方地址:https://goharbor.io/
官方开源代码地址:https://github.com/goharbor/harbor
官方部署文档:https://goharbor.io/docs/2.2.0/install-config/
官方文档中提供了两种部署方式,在线与离线。此篇文章依据离线方式部署Harbor。


一、系统环境

1.1 软件版本

软件版本
操作系统CentOS Linux release 7.9.2009 (Core)
Docker20.10.7-ce
Docker-Compose1.23.2
Harbor2.3.0

1.2 关闭防火墙及selinux

[root@harbor ~]# systemctl stop firewalld
[root@harbor ~]# systemctl disable firewalld
[root@harbor ~]# setenforce 0
[root@harbor ~]# sed -i 's/enforcing/disabled/' /etc/selinux/config

二、安装Docker与Docker-Compose

2.1 安装Docker

可参考此文章安装Docker-ce
https://blog.csdn.net/weixin_42708432/article/details/117773598


2.2 安装Docker-Compose

[root@harbor ~]# wget https://github.com/docker/compose/releases/download/1.23.2/docker-compose-Linux-x86_64 -o /usr/bin/docker-compose	#下载可执行文件
[root@harbor ~]# chmod +x /usr/bin/docker-compose	
[root@harbor ~]# docker-compose version

在这里插入图片描述


三、安装Harbor

3.1 下载离线安装包

访问harbor开源网站:https://github.com/goharbor/harbor
在这里插入图片描述

在这里插入图片描述

下载地址:https://github.com/goharbor/harbor/releases/download/v2.3.0/harbor-offline-installer-v2.3.0.tgz


3.2 解压离线包

将下载好的harbor-offline-installer-v2.3.0.tgz上传至服务器,并解压。

[root@harbor ~]# ls
[root@harbor ~]# tar zxf harbor-offline-installer-v2.3.0.tgz -C /usr/local/
[root@harbor ~]# ls /usr/local/harbor/

在这里插入图片描述


3.3 安装harbor

[root@harbor ~]# cd /usr/local/harbor/
[root@harbor harbor]# cp harbor.yml.tmpl harbor.yml	#拷贝模板配置文件
[root@harbor harbor]# vim harbor.yml
hostname: reg.mydomain.com	修改为hostname: 192.168.16.75
https:					添加注释
  port: 443					添加注释
  certificate: /your/certificate/path	添加注释
  private_key: /your/private/key/path	添加注释

在这里插入图片描述

hostname: 填写服务器的IP地址或域名
harbor_admin_password: admin密码

[root@harbor harbor]# ./install.sh		#执行安装脚本

在执行安装脚本时,脚本会去镜像仓库拉取对应的镜像并运行
在这里插入图片描述

[root@harbor harbor]# docker ps 	#脚本运行完成后,docker ps会出现10个容器并在运行状态

在这里插入图片描述

浏览器访问:
http://IP
默认账号密码:admin/Harbor12345
在这里插入图片描述

目前项目只有一个空的


四、Docker主机配置http连接

其他Docker主机需要推送或拉取镜像的话,由于harbor在推送或拉取镜像时默认是不允许http连接的,我们上面在配置harbor时禁用了https。因此在其他的Docker主机上需要修改配置来支持http连接。注意:任何docker主机想上传或拉取镜像到harbor,都需要配置harbor私有仓库的地址。

[root@node1 ~]# vim /etc/docker/daemon.json
添加:"insecure-registries": ["192.168.16.75"]

在这里插入图片描述

[root@node1 ~]# systemctl daemon-reload  && systemctl restart docker

五、harbor创建项目测试

5.1 创建项目

登录harbor系统,创建一个项目。
在这里插入图片描述


5.2 获取推送命令

在这里插入图片描述


5.3 推送镜像

例如我现在node1 docker主机上有一个定制版本的nginx镜像。现需要上传至harbor私有仓库中。

[root@node1 ~]# docker login 192.168.16.75		#登录私有仓库,账号密码为harbor网站的(admin/Harbor12345)

在这里插入图片描述

[root@node1 ~]# docker image ls

在这里插入图片描述

[root@node1 ~]# docker tag nginx:1.17 192.168.16.75/pull-test/nginx:1.17	#为镜像打标签

在这里插入图片描述

[root@node1 ~]# docker push 192.168.16.75/pull-test/nginx:1.17 #推送镜像到私有仓库

在这里插入图片描述


5.4 harbor查看项目镜像

在这里插入图片描述

镜像的拉取也是同样步骤噢。具体更多功能及配置也查看官方博客网站:https://goharbor.io/blog/

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值