harbor私有仓库部署

目录

一.harbor简介

二.harbor的特性

三.harbor部署

四.注意事项


准备工作:部署docker服务

# harbor的部署需要环境中存在docker服务
# 1.安装和使用docker
# 安装docker源
[root@docker ~]# cd /etc/yum.repos.d/
 
[root@docker ~]# curl -o docker-ce.repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
 
[root@docker ~]# sed -i 's@https://download.docker.com@https://mirrors.tuna.tsinghua.edu.cn/docker-ce@g' docker-ce.repo
 
[root@docker ~]# yum -y install docker-ce
  
# 2.docker加速
cat > /etc/docker/daemon.json <<EOF
{
    "registry-mirrors": ["https://xn5qdf32.mirror.aliyuncs.com"]
}
EOF

# 3.启动docker服务并设置开机自启
[root@docker ~]# systemctl enable --now docker

一.harbor简介

Harbor 是 VMware 公司开源的企业级 Docker Registry 项目,
其目标是帮助用户迅速搭建一个企业级的 Docker Registry 服务。
 
Harbor以 Docker 公司开源的 Registry 为基础,
提供了图形管理 UI 、基于角色的访问控制(Role Based AccessControl) 、
AD/LDAP 集成、以及审计日志(Auditlogging) 等企业用户需求的功能,同时还原生支持中文。
 
Harbor 的每个组件都是以 Docker 容器的形式构建的,使用 docker-compose 来对它进行部署。
用于部署 Harbor 的 docker-compose 模板位于 harbor/docker-compose.yml。

二.harbor的特性

 1、基于角色控制:用户和仓库都是基于项目进行组织的,而用户在项目中可以拥有不同的权限。
2、基于镜像的复制策略:镜像可以在多个Harbor实例之间进行复制(同步)。
3、支持 LDAP/AD:Harbor 可以集成企业内部已有的 AD/LDAP(类似数据库的一张表),用于对已经存在的用户认证和管理。
4、镜像删除和垃圾回收:镜像可以被删除,也可以回收镜像占用的空间。
5、图形化用户界面:用户可以通过浏览器来浏览,搜索镜像仓库以及对项目进行管理。
6、审计管理:所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。
7、支持 RESTful API:RESTful API 提供给管理员对于 Harbor 更多的操控, 使得与其它管理软件集成变得更容易。
8、Harbor和docker registry的关系:Harbor实质上是对docker registry做了封装,扩展了自己的业务模板。

三.harbor部署

docker-compose官方下载部署指南

harbor软件包地址(github)

# 1.部署docker-compose服务
[root@harbor ~]# curl -SL https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

[root@harbor ~]# cd /usr/local/bin/
[root@harbor bin]# ls
docker-compose

# 给执行权限
[root@harbor ~]# chmod +x /usr/local/bin/docker-compose 

# 软链接
[root@harbor ~]# ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

# 2.下载harbor,这里我们选择2.9.1版本的harbor
[root@harbor ~]# wget https://github.com/goharbor/harbor/releases/download/v2.9.1/harbor-offline-installer-v2.9.1.tgz
[root@harbor ~]# ls
anaconda-ks.cfg  harbor-offline-installer-v2.9.1.tgz
[root@harbor ~]# tar xf harbor-offline-installer-v2.9.1.tgz -C /usr/local/
[root@harbor ~]# cd /usr/local/
[root@harbor local]# ls
bin  etc  games  harbor  include  lib  lib64  libexec  sbin  share  src

# 3.cp一份harbor.yml配置文件
[root@harbor harbor]# ls
common.sh             install.sh  prepare
harbor.v2.9.1.tar.gz  harbor.yml.tmpl  LICENSE
[root@harbor harbor]# cp harbor.yml.tmpl harbor.yml
[root@harbor harbor]# ls
common.sh             harbor.yml       install.sh  prepare
harbor.v2.9.1.tar.gz  harbor.yml.tmpl  LICENSE

# 4.编辑harbor.yml文件
# 将hostname 这行改为本机的主机名
hostname: harbor.example.com

# 将https 这一块全部注释,因为我们用不到证书验证
# https related config
#https:
  # https port for harbor, default is 443
  # port: 443
  # The path of cert and key files for nginx
  # certificate: /your/certificate/path
  #private_key: /your/private/key/path

# 在其中我们也可以看到harbor登录的默认密码为Harbor12345
# 数据存放路径为/data

# 5.安装harbor
[root@harbor harbor]# ./install.sh 
......省略
[Step 5]: starting Harbor ...
[+] Running 10/10
 ✔ Network harbor_harbor        Created                                     0.0s 
 ✔ Container harbor-log         Started                                     0.0s 
 ✔ Container redis              Started                                     0.0s 
 ✔ Container harbor-portal      Started                                     0.0s 
 ✔ Container harbor-db          Started                                     0.0s 
 ✔ Container registry           Started                                     0.0s 
 ✔ Container registryctl        Started                                     0.0s 
 ✔ Container harbor-core        Started                                     0.0s 
 ✔ Container nginx              Started                                     0.0s 
 ✔ Container harbor-jobservice  Started                                     0.0s 
✔ ----Harbor has been installed and started successfully.----

[root@harbor harbor]# ss -antl
State    Recv-Q   Send-Q     Local Address:Port     Peer Address:Port  Process   
LISTEN   0        2048           127.0.0.1:1514          0.0.0.0:*               
LISTEN   0        2048             0.0.0.0:80            0.0.0.0:*               
LISTEN   0        128              0.0.0.0:22            0.0.0.0:*               
LISTEN   0        2048                [::]:80               [::]:*               
LISTEN   0        128                 [::]:22               [::]:*  

使用ip访问harbor的web页面

使用用户 admin 默认密码 Harbor12345登录

四.注意事项

  1. 在客户端上传镜像时一定要记得执行docker login进行用户认证,否则无法直接push
  2. 在客户端使用的时候如果不是用的https则必须要在客户端的/etc/docker/daemon.json配置文件中配置insecure-registries参数
  3. 数据存放路径应在配置文件中配置到一个容量比较充足的共享存储中
  4. Harbor是使用docker-compose命令来管理的,如果需要停止Harbor也应用docker-compose stop来停止,其他参数请--help
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值