标签:搜索 扩展 uuid 数据 mic 基于 block art ffline
Harbor 仓库介绍Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。
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都是Docker的镜像仓库,但是Harbor作为更多企业的选择,是因为相比较于Regisrty来说,它具有很多的优势。
1.提供分层传输机制,优化网络传输
Docker镜像是是分层的,而如果每次传输都使用全量文件(所以用FTP的方式并不适合),显然不经济。必须提供识别分层传输的机制,以层的UUID为标识,确定传输的对象。
2.提供WEB界面,优化用户体验
只用镜像的名字来进行上传下载显然很不方便,需要有一个用户界面可以支持登陆、搜索功能,包括区分公有、私有镜像。
3.支持水平扩展集群
当有用户对镜像的上传下载操作集中在某服务器,需要对相应的访问压力作分解。
4.良好的安全机制
企业中的开发团队有很多不同的职位,对于不同的职位人员,分配不同的权限,具有更好的安全性。
5.Harbor提供了基于角色的访问控制机制,并通过项目来对镜像进行组织和访问权限的控制。kubernetes中通过namespace来对资源进行隔离,在企业级应用场景中,通过将两者进行结合可以有效将kubernetes使用的镜像资源进行管理和访问控制,增强镜像使用的安全性。尤其是在多租户场景下,可以通过租户、namespace和项目相结合的方式来实现对多租户镜像资源的管理和访问控制。
1.docker 版本17.06.0+
2.docker-compose 版本 1.18.0+
3.关闭防火墙,安全性
4.CentOS 7 系统,可联网
cd /etc/yum.repos.d
wget http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
注意:若无法使用wget下载,可先下载,再上传到Linux相关目录下
yum -y install docker-ce
systemctl start docker
systemctl enable docker
yum install -y epel-release
yum -y install docker-compose
下载地址: https://storage.googleapis.com/harbor-releases/ 可选择最新版本下载
wget https://storage.googleapis.com/harbor-releases/harbor-offline-installer-v2.0.0.tgz
注意:若使用wget 无法下载,出现如下图报错:
解决方法:在window浏览器直接打开链接下载,在上传到Linux系统。
tar xvf harbor-offline-installer-v2.0.0.tgz -C /usr/local
cd /usr/local/harbor
docker image load -i harbor.v2.0.0.tar.gz
cd /usr/local/harbor
cp harbor.yml.tmpl harbor.yml #拷贝配置模板
vim harbor.yml
hostname = 192.168.156.133
再注释掉https相关端口号,其他可根据需要修改!
1.安装v2.x系列,必须先导入镜像,再拷贝harbor.yml.tmpl模板,顺序不能乱,并且直接使用harbor.yml.tmpl模板作为配置文件,只能使用harbor.yml 作为配置文件。
2.v1.x系列安装没有导入docker镜像这一步,直接修改配置文件harbor.cfg 即可,后面操作一样。
./prepare
./install.sh
docker ps
地址: http://192.168.154.133
默认账号:admin
密码: Harbor12345
docker-compose up -d # 后台启动,如果容器不存在根据镜像自动创建
docker-compose down -v # 停止容器并删除容器
docker-compose start # 启动容器,容器不存在就无法启动,不会自动创建镜像
docker-compose stop # 停止容器
docker pull tomcat
注意:如下载过慢,可以添加:
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://fskvstob.mirror.aliyuncs.com/"]
}
systemctl daemon-reload #重新加载
systemctl restart docker #重启docker
docker tag tomcat 192.168.154.133/maven-test01/tomcat:v1
docker login 192.168.154.133
此时会报错如下:
解决方案:
cd /usr/lib/systemd/system
vim docker.service
--insecure-registry=192.168.154.133
systemctl daemon-reload
systemctl restart docker #重启服务
docker login 192.168.154.133
docker push 192.168.154.133/maven-test01/tomcat:v1
标签:搜索 扩展 uuid 数据 mic 基于 block art ffline
原文地址:https://blog.51cto.com/13760351/2532347