Docker容器harbor私有仓库部署和管理
前言
一、Harbor概述
二、Harbor的特性
三、Harbor的构成
四、Harbor私有仓库搭建
(1)安装docker-compose
(2)安装harbor
(3)新建项目
(4)镜像推送
(5)从私有仓库下载镜像
(6)Harbor管理
前言之前我们搭建了本地私有仓库,但是本地仓库的管理和使用比较麻烦,个原生的私有仓库并不好用,所以我们采用harbor私有仓库,也叫私服,更加人性化。
一、Harbor概述Harbor是VMware公司开源的企业级Docker Registry项目,其目标是帮助用户迅速搭建一个企业级的Docker Registry服务。
Harbor以Docker 公司开源的Registry 为基础,提供了图形管理UI、基于角色的访问控制(Role Based AccessControl)、AD/LDAI们成以心宙计日志(Auditlogging)等企业用户需求的功能,同时还原生支持中文。
Harbor的每个组件都是以Docker容器的形式构建的,使用docker-compose来对它进行部署。用于部署Harbor的docker-compose模板位于harbor/docker-compose.yml。
二、Harbor的特性基于角色控制:用户和仓库都是基于项目进行组织的,而用户在项目中可以拥有不同的权限。
基于镜像的复制策略:镜像可以在多个Harbor实例之间进行复制(同步)
支持LDAP/AD:Harbor可以集成企业内部已有的AD/LDAP(类似数据库的一张表),用于对已经存在的用户认证和管理。
镜像删除和垃圾回收:镜像可以被删除,也可以回收镜像占用的空间。
图形化用户界面:用户可以通过浏览器来浏览,搜索镜像仓库以及对项目进行管理。
审计管理:所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。
支持 RESTful API:RESTful API 提供给管理员对于Harbor更多的操控,使得与其它管理软件集成变得更容易。
Harbor和docker registry的关系:Harbor实质上是对docker registry做了封装,扩展了自己的业务模板。
三、Harbor的构成Harbor在架构上主要有proxy、Registry、Core services、Database(Harbor-db)、Log collector(Harbor-log)、Job services六个组件。
Proxy:是一个nginx的前端代理,Harbor的Registry、UI、Token服务等组件,都处在nginx反向代理后边。该代理将来自浏览器、docker clients的请求转发到后端不同的服务上。
Registry:负责存储Docker镜像,并处理Docker push/pull命令。由于要对用户进行访问控制,即不同用户对Docker镜像有不同的读写权限,Registry会指向一个Token服务,强制用户的每次Docker pull/push请求都要携带一个合法的Token,Registry会通过公钥对Token进行解密验证。
Core services:Harbor的核心功能,主要提供一下3个服务:
UI(harbor-ui):提供图形化界面,帮助用户管理Registry上的镜像(image),并对用户进行授权。
WebHook:为了及时获取Registry上image状态变化的情况,在Registry上配置WebHook,把状态变化传递给UI模块。
Token服务:负责根据用户权限给每个Docker push/pull命令签发Token.Docker客户端向Registry服务发起的请求,如果不包含Docker Token,会被重定向到Token服务,获得Token后再重新向Registry进行请求。
Database(harbor-db):为core services提供数据库服务,负责存储用户权限、审计日志、Docker镜像分组信息等数据。Docker数据存储在文件系统,但是分组信息存储在数据库。
Job services:主要用于镜像复制,本地镜像可以被同步到远程Harbor实例上。
Log collector(harbor-log):负责收集其他组件的日志到一个地方。
Harbor 的每个组件都是以 Docker 容器的形式构建的,因此,使用 Docker Compose 来对它进行部署。
总共分为7个容器运行,通过在docker-compose.yml所在目录中执行 docker-compose ps 命令来查看, 名称分别为:nginx、harbor-jobservice、harbor-ui、harbor-db、harbor-adminserver、registry、harbor-log。
其中 harbor-adminserver 主要是作为一个后端的配置数据管理,并没有太多的其他功能。harbor-ui 所要操作的所有数据都通过 harbor-adminserver 这样一个数据配置管理中心来完成
cd /opt
#上传docker-compose
mv docker-compose /usr/bin
chmod +x /usr/bin/docker-compose
(2)安装harbor
rz harbor-offline-installer-v1.2.2.tgz
tar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local/
#==配置Harbor参数文件==
vim /usr/local/harbor/harbor.cfg
#==第5行修改==
hostname = 192.168.48.14
安装harbor镜像
sh /usr/local/harbor/install.sh
查看镜像与容器:
docker ps
docker images
物理机访问server IP
(3)新建项目 (4)镜像推送192.168.48.14
用户名:admin
密码:Harbor12345
#登录私有仓库
docker login -u admin -p Harbor12345 http://192.168.48.14
vim /etc/docker/daemon.json
{
"insecure-registries": ["192.168.48.14"]
}
#下载镜像进行测试
docker pull nginx
#镜像打标签
docker tag nginx 192.168.48.14/xy/nginx:v1
#上传镜像到Harbor
docker push 192.168.48.14/xy/nginx:v1
浏览器访问仓库,查看镜像
(5)从私有仓库下载镜像使用另外一台服务器,进行镜像下载
#添加私有仓库地址
vim /etc/docker/daemon.json
{
"insecure-registries": ["192.168.48.14"]
}
#下载镜像
#docker pull 私有仓库地址/仓库名/镜像名:标签
docker pull 192.168.48.14/xy/nginx:v1
查看Hardor日志:
(6)Harbor管理可以使用 docker-compose 来管理 Harbor。一些有用的命令如下所示,必须在与docker-compose.yml 相同的目录中运行。
修改 Harbor.cfg 配置文件:
要更改 Harbour 的配置文件时,请先停止现有的 Harbour 实例并更新 Harbor.cfg;
然后运行 prepare 脚本来填充配置;
最后重新创建并启动 Harbour 的实例。
#卸载
docker-compose down -v
#编辑配置文件
vim harbor.cfg
#填充配置
./prepare
#启动Harbor
docker-compose up -d
#如果报错
解决思路
关闭防火墙、重启docker
systemctl stop firewalld
setenfore 0
systemctl restart docker
到此这篇关于Docker容器harbor私有仓库部署和管理的文章就介绍到这了,更多相关Docker harbor内容请搜索易知道(ezd.cc)以前的文章或继续浏览下面的相关文章希望大家以后多多支持易知道(ezd.cc)!
相关内容
-
金蝶怎么计算领料金额|领料单价怎么计算我们公
金蝶怎么计算领料金额|领料单价怎么计算我们公司是做袜子的,...
-
金蝶仓库管理软件友商网|宁波的金蝶公司怎么样?
金蝶仓库管理软件友商网|宁波的金蝶公司怎么样?上班好吗?,,1....
-
dnf仓库锁设置官网|dnf仓库锁系统网址
dnf仓库锁设置官网|dnf仓库锁系统网址,,1. dnf仓库锁系统网址...
-
电脑上淘宝店的仓库|淘宝网店仓库在哪里
电脑上淘宝店的仓库|淘宝网店仓库在哪里,,淘宝网店仓库在哪里...
-
金蝶仓库红字保存后怎么变蓝字|怎么改回金蝶k3
金蝶仓库红字保存后怎么变蓝字|怎么改回金蝶k3系统入库单新...
-
docker容器添加微软雅黑字体|docker 环境缺字体
docker容器添加微软雅黑字体|docker 环境缺字体,字体,容器,添...
-
mvn设置仓库地址|maven仓库位置
mvn设置仓库地址|maven仓库位置,,1. mvn设置仓库地址将库解压...
-
金蝶怎么设置物料盘点仓库|金蝶商贸版怎样做库
金蝶怎么设置物料盘点仓库|金蝶商贸版怎样做库存盘点,,1.金蝶...
-
仓库设置几个岗位|仓库岗位要求
仓库设置几个岗位|仓库岗位要求,,仓库设置几个岗位仓储业务一...
-
聊聊docker下怎么启动容器
聊聊docker下怎么启动容器,镜像,应用程序,下载,启动,名称,命令,Dock...
-
如何在linux上安装docker
如何在linux上安装docker,安装,运行,命令,步骤,用户,版本,随着容器...
-
如何彻底卸载docker
如何彻底卸载docker,删除,命令,软件包,文件,卸载,步骤,随着云计算和...
-
如何启动docker中的容器
如何启动docker中的容器,启动,命令,服务,镜像,文件,方法,Docker是一...
-
docker安装的详细步骤
docker安装的详细步骤,安装,步骤,命令,软件包,系统,应用程序,Docker...
-
怎么给docker换镜像源
怎么给docker换镜像源,镜像源,镜像,加速器,加速,步骤,命令,随着Dock...