私有镜像仓库Harbor基础介绍与部署

企业级私有镜像仓库Harbor
一:介绍前端

Harbor,是一个英文单词,意思是港湾,港湾是干什么的呢,就是停放货物的,而货物呢,是装在集装箱中的,说到集装箱,就不得不提到Docker容器,由于docker容器的技术正是借鉴了集装箱的原理。因此,Harbor正是一个用于存储Docker镜像的企业级Registry服务。
Registry是Docker官方的一个私有仓库镜像,能够将本地的镜像打标签进行标记而后push到以Registry起的容器的私有仓库中。企业能够根据本身的需求,使用Dokcerfile生成本身的镜像,并推到私有仓库中,这样能够大大提升拉取镜像的效率。

二:Harbor核心组件解释mysql

Proxy:他是一个nginx的前端代理,代理Harbor的registry,UI, token等服务。
db:负责储存用户权限、审计日志、Dockerimage分组信息等数据。
UI:提供图形化界面,帮助用户管理registry上的镜像, 并对用户进行受权。
jobsevice:jobsevice是负责镜像复制工做的,他和registry通讯,从一个registry pull镜像而后push到另外一个registry,并记录job_log。
Adminserver:是系统的配置管理中心附带检查存储用量,ui和jobserver启动时候回须要加载adminserver的配置。
Registry:镜像仓库,负责存储镜像文件。
Log:为了帮助监控Harbor运行,负责收集其余组件的log,供往后进行分析。

三:Harbor和Registry的比较linux

Harbor和Registry都是Docker的镜像仓库,可是Harbor做为更多企业的选择,是由于相比较于Regisrty来讲,它具备不少的优点。
1.提供分层传输机制,优化网络传输
Docker镜像是是分层的,而若是每次传输都使用全量文件(因此用FTP的方式并不适合),显然不经济。必须提供识别分层传输的机制,以层的UUID为标识,肯定传输的对象。
2.提供WEB界面,优化用户体验
只用镜像的名字来进行上传下载显然很不方便,须要有一个用户界面能够支持登录、搜索功能,包括区分公有、私有镜像。
3.支持水平扩展集群
当有用户对镜像的上传下载操做集中在某服务器,须要对相应的访问压力做分解。
4.良好的安全机制
企业中的开发团队有不少不一样的职位,对于不一样的职位人员,分配不一样的权限,具备更好的安全性。
5.Harbor提供了基于角色的访问控制机制,并经过项目来对镜像进行组织和访问权限的控制。kubernetes中经过namespace来对资源进行隔离,在企业级应用场景中,经过将二者进行结合能够有效将kubernetes使用的镜像资源进行管理和访问控制,加强镜像使用的安全性。尤为是在多租户场景下,能够经过租户、namespace和项目相结合的方式来实现对多租户镜像资源的管理和访问控制。nginx

1、下载离线Harbor安装包git

Harbor官方下载:https://github.com/goharbor/harborgithub

进入首页,下面是Harbor的介绍
私有镜像仓库Harbor基础介绍与部署
进行下载
私有镜像仓库Harbor基础介绍与部署sql

咱们下载部署的硬件要求:
私有镜像仓库Harbor基础介绍与部署
选择release,找到历史版本
私有镜像仓库Harbor基础介绍与部署
私有镜像仓库Harbor基础介绍与部署
在线的通常是国外的源有可能会出现问题,建议
通常下载离线安装包:hatbor-offine-installer-v1.81.tgzdocker

下载好上传咱们的根目录json

[root@harbor-mysql ~]# ls
anaconda-ks.cfg                      initial-setup-ks.cfg  模板  图片  下载  桌面
harbor-offline-installer-v1.8.1.tgz  公共                  视频  文档  音乐

2、安装Dockervim

这里是Centos7安装方式,ce版本是最新的社区版
安装依赖包

$ sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

添加Docker软件包源

$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

安装Docker-ce

$ sudo yum install docker-ce
启动Docker

默认是国外的源,下载会很慢,建议配置国内镜像仓库
建议使用daocloud的加速器
该脚本能够将 --registry-mirror 加入到你的 Docker 配置文件 /etc/docker/daemon.json 中

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
启动Docker
$ sudo systemctl start docker

3、下载安装docker-compose
Docker-compose文档地址https://docs.docker.com/compose/install/

[root@harbor-mysql ~]# curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
[root@harbor-mysql ~]# chmod +x /usr/local/bin/docker-compose
[root@harbor-mysql ~]# docker-compose --version
docker-compose version 1.24.1, build 4667896b

4、部署Harbor服务

[root@harbor-mysql ~]# tar xf harbor-offline-installer-v1.8.1.tgz -C /usr/local
[root@harbor-mysql ~]# cd /usr/local/harbor/
[root@harbor-mysql harbor]# ls
harbor.v1.8.1.tar.gz  harbor.yml  install.sh  LICENSE  prepare
[root@harbor-mysql harbor]# vim harbor.yml
修改配置文件yml,修改安装的ip地址
Hostname : 192.168.30.24:80

启动并安装Harbor
配置完成后就能够启动Harbor了
私有镜像仓库Harbor基础介绍与部署
查看Harbor 启动镜像
私有镜像仓库Harbor基础介绍与部署
若是一切正常,应该能够打开浏览器访问:http://192.168.30.24的管理页面,管理用户名是admin 密码为Harbor12345
私有镜像仓库Harbor基础介绍与部署
建立项目名称
私有镜像仓库Harbor基础介绍与部署

相关文章
相关标签/搜索