CentOS 7 部署 Harbor 仓库V2.x系列

Harbor 仓库介绍

Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,可是从安全和效率等方面考虑,部署私有环境内的Registry也是很是必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。前端

Harbor核心组件解释

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,供往后进行分析。linux

Harbor和Registry的比较

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

安装环境

1.docker 版本17.06.0+
2.docker-compose 版本 1.18.0+
3.关闭防火墙,安全性
4.CentOS 7 系统,可联网docker

1、安装docker步骤

1.添加docker-ce源

cd /etc/yum.repos.d
wget http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repojson

CentOS 7 部署 Harbor 仓库V2.x系列

注意:若没法使用wget下载,可先下载,再上传到Linux相关目录下vim

2.安装docker

yum -y install docker-cecentos

3.启动docker

systemctl start dockerapi

4.将docker设置为开机自启

systemctl enable docker浏览器

CentOS 7 部署 Harbor 仓库V2.x系列

2、安装docker-compse

1.先安装epel源

yum install -y epel-releasetomcat

2.安装docker-compose

yum -y install docker-compose

3、安装harbor仓库

1.下载harbor离线安装包

下载地址: https://storage.googleapis.com/harbor-releases/ 可选择最新版本下载

CentOS 7 部署 Harbor 仓库V2.x系列

wget https://storage.googleapis.com/harbor-releases/harbor-offline-installer-v2.0.0.tgz

注意:若使用wget 没法下载,出现以下图报错:

CentOS 7 部署 Harbor 仓库V2.x系列

解决方法:在window浏览器直接打开连接下载,在上传到Linux系统。

CentOS 7 部署 Harbor 仓库V2.x系列

2.解压harbor

tar xvf harbor-offline-installer-v2.0.0.tgz -C /usr/local

3.导入docker镜像

cd /usr/local/harbor
docker image load -i harbor.v2.0.0.tar.gz

4.修改第harbor.yml配置文件

cd /usr/local/harbor
cp harbor.yml.tmpl harbor.yml #拷贝配置模板
vim harbor.yml

hostname = 192.168.156.133
再注释掉https相关端口号,其余可根据须要修改!

CentOS 7 部署 Harbor 仓库V2.x系列
CentOS 7 部署 Harbor 仓库V2.x系列

注意:

1.安装v2.x系列,必须先导入镜像,再拷贝harbor.yml.tmpl模板,顺序不能乱,而且直接使用harbor.yml.tmpl模板做为配置文件,只能使用harbor.yml 做为配置文件。
2.v1.x系列安装没有导入docker镜像这一步,直接修改配置文件harbor.cfg 便可,后面操做同样。

5.检测harbor

./prepare

6.安装harbor

./install.sh

CentOS 7 部署 Harbor 仓库V2.x系列

7.查看服务器运行的容器

docker ps

CentOS 7 部署 Harbor 仓库V2.x系列

8.访问Harbor管理系统

地址: http://192.168.154.133
默认帐号:admin
密码: Harbor12345

CentOS 7 部署 Harbor 仓库V2.x系列

9.相关命令

docker-compose up -d # 后台启动,若是容器不存在根据镜像自动建立
docker-compose down -v # 中止容器并删除容器
docker-compose start # 启动容器,容器不存在就没法启动,不会自动建立镜像
docker-compose stop # 中止容器

10.建立项目

CentOS 7 部署 Harbor 仓库V2.x系列

CentOS 7 部署 Harbor 仓库V2.x系列
CentOS 7 部署 Harbor 仓库V2.x系列

上传镜像

1.下载官方tomcat镜像

docker pull tomcat

注意:以下载过慢,能够添加:

vim /etc/docker/daemon.json

{
"registry-mirrors": ["https://fskvstob.mirror.aliyuncs.com/"]
}

systemctl daemon-reload #从新加载
systemctl restart docker #重启docker

2.给tomcat镜像打标签

docker tag tomcat 192.168.154.133/maven-test01/tomcat:v1

3.登录harbor

docker login 192.168.154.133

此时会报错以下:

CentOS 7 部署 Harbor 仓库V2.x系列

解决方案:

cd /usr/lib/systemd/system
vim docker.service

--insecure-registry=192.168.154.133

CentOS 7 部署 Harbor 仓库V2.x系列

systemctl daemon-reload
systemctl restart docker #重启服务

4.再次登陆

docker login 192.168.154.133

CentOS 7 部署 Harbor 仓库V2.x系列

5.上传镜像到仓库

docker push 192.168.154.133/maven-test01/tomcat:v1

CentOS 7 部署 Harbor 仓库V2.x系列

6.查看仓库

CentOS 7 部署 Harbor 仓库V2.x系列

相关文章
相关标签/搜索