企业级容器技术docker(13)harbor的部署和使用

Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器。
镜像的存储harbor使用的是官方的docker registry(v2命名是distribution)服务去完成。
harbor在docker distribution的基础上增加了一些安全、访问控制、管理的功能以满足企业对于镜像仓库的需求。
harbor以docker-compose的规范形式组织各个组件,并通过docker-compose工具进行启停。
Harbor是VMware公司开源了企业级Registry项目, 其的目标是帮助用户迅速搭建一个企业级的Docker registry服务。
它以Docker公司开源的registry为基础,额外提供了如下功能:

  1. 基于角色的访问控制(Role Based Access Control)
  2. 基于策略的镜像复制(Policy based image replication)
  3. 镜像的漏洞扫描(Vulnerability Scanning)
  4. AD/LDAP集成(LDAP/AD support)
  5. 镜像的删除和空间清理(Image deletion & garbage collection)
  6. 友好的管理UI(Graphical user portal)
  7. 审计日志(Audit logging)
  8. RESTful API
  9. 部署简单(Easy deployment)

实验环境

server1  192.168.122.2
server2  192.168.122.3
server3  192.168.122.4
server4  192.168.122.5

安装
server1-3是为一个swarm集群,server4上设置harbor(其实在哪个机子上设置都是一样的,但是本身虚拟机设置的容量不够,所以分开了)
首先你需要在server4上安装docker。
之后要下载harbor的包,一般使用分为在线和离线包,下载方式和安装方式都不太相同,现在实验环境下下载了一个离线包,
下载地址https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-offline-installer-v1.8.0.tgz

直接wget下来即可。

将包下载到本地后进行解压。

tar zxf harbor-offline-installer-v1.8.0.tgz 

进入目录

harbor.v1.8.0.tar.gz  harbor.yml  install.sh  LICENSE  prepare

有5个文件,
harbor.v1.8.0.tar.gz这个文件中都是安装harbor所需要的镜像,不用管。
harbor.yml 这个是配置文件,进入这个文件有一些东西需要进行修改。

5 hostname: passyt.com   hostname

后面可以接ip也可以接主机名,如果接主机名注意给所有机器做解析。

 7 # http related config
  8 http:
  9   # port for http, default is 80. If https enabled, this port will redirect to https     port
 10   port: 80

这几行是端口为80,可以在浏览器上直接用域名进行访问。

13 https:
 14   # https port for harbor, default is 443
 15   port: 443
 16   # The path of cert and key files for nginx
 17   certificate: /etc/docker/passyt.com.crt
 18   private_key: /etc/docker/passyt.com.key

这几行代表不能直接登陆,加密登陆。但是在最后两行需要进行验证。注意加密文件存放的地址不能写错。
上面两个设置存在一个即可,令一套注释掉。

27 harbor_admin_password: aekhg777

这个表示私有仓库的密码,默认一开始只有admin管理员一名用户。

 30 database:
 31   # The password for the root user of Harbor DB. Change this before any production us    e.
 32   password: aekhg777

harbor默认添加一个数据库,下面设置的是数据库的密码。

由于我选的是加密登陆,所以第二步创建自签名证书。证书可以创建在任何目录中,但是记住绝对路径,这个路径要写在上一步的配置文件中才可以生效。

openssl req -newkey rsa:4096 -nodes -sha256 -keyout passyt.com.key -x509 -days 365 -out passyt.com.crt

使用命令创建证书。

操作完成可以进行安装,回到harbor目录中使用install.sh脚本进行安装。安装过程会将目录中的所有镜像导入docker中,并且会自动生成docker-compose.yml文件,文件生成后,将继续自动部署。
安装完毕就可以查看镜像目录,发现多了很多镜像。
这个时候其实部署就已经完成harbor已经可以进行使用了。

打开浏览器,输入域名。就进入到登陆界面
在这里插入图片描述

这个时候只有一个管理员用户,密码是之前在配置文件中自己设置的。登陆完成进入主页面。

这个时候其实默认只有一个公开的library项目名。
在这里插入图片描述
这时我们可以在终端尝试进行推送镜像。

docker tag nginx:latest passyt.com/library/nginx##修改标签
[root@passyt harbor]# docker push passyt.com/library/nginx
The push refers to repository [passyt.com/library/nginx]
Get https://passyt.com/v2/: x509: certificate signed by unknown authority

这个时候会报错,因为没有找到认证文件。我们需要作的是在/etc/docker/下创建一个certs.d/的目录,在这个目录中再创建一个和域名相同的目录,在这个目录中添加签名证书。但是这个证书需要改名为ca.crt。

mkdir /etc/docker/certs.d/
cd /etc/docker/certs.d/
mkdir passyt.com
cd passyt.com/
cp /etc/docker/passyt.com.crt ca.crt

这个时候在推送

docker push passyt.com/library/nginx
The push refers to repository [passyt.com/library/nginx]
22439467ad99: Preparing 
b4a29beac87c: Preparing 
488dfecc21b1: Preparing 
denied: requested access to the resource is denied

这时又被系统拒绝了。这是因为还需要进行登陆操作

docker login passyt.com
Username: admin
Password: 

登陆完成你的所有登陆信息会被保存在/root/.docker/config.json文件中,这样就不用重复登陆,在你进行登出操作时,这个文件自动删除。

docker push passyt.com/library/nginx
The push refers to repository [passyt.com/library/nginx]
22439467ad99: Pushed 
b4a29beac87c: Pushed 
488dfecc21b1: Pushed 
latest: digest: sha256:62f787b94e5faddb79f96c84ac0877aaf28fb325bfc3601b9c0934d4c107ba94 size: 948

登陆完成推送就可以过去了。

拉取操作就不用这么麻烦,只要有证书就可以直接进行拉取。 ##但是这种拉取只限于公共仓库内。
证书放在老地方

docker pull passyt.com/library/nginx
Using default tag: latest
latest: Pulling from library/nginx
Digest: sha256:62f787b94e5faddb79f96c84ac0877aaf28fb325bfc3601b9c0934d4c107ba94
Status: Downloaded newer image for passyt.com/library/nginx:latest

直接拉取即可。

在网页上还可以进行查看。每次拉取哪个,拉取的用户是谁。
在这里插入图片描述
除此之外,还可以建立新仓库。设置仓库是公开的还是私有的。也可以创建用户,两个都创建完成进入一个私有仓库,在私有仓库中设立成员。这些成员只有有权限的才可以在私有仓库中推送镜像。
在这里插入图片描述
在这里插入图片描述
推送的方法还是一样的,但是也必须要登陆才行。

数据治理是确保数据准确性、可靠性、安全性、可用性和完整性的体系和框架。它定义了组织内部如何使用、存储、保护和共享数据的规则和流程。数据治理的重要性随着数字化转型的加速而日益凸显,它能够提高决策效率、增强业务竞争力、降低风险,并促进业务创新。有效的数据治理体系可以确保数据在采集、存储、处理、共享和保护等环节的合规性和有效性。 数据质量管理是数据治理中的关键环节,它涉及数据质量评估、数据清洗、标准化和监控。高质量的数据能够提升业务决策的准确性,优化业务流程,并挖掘潜在的商业价值。随着大数据和人工智能技术的发展,数据质量管理在确保数据准确性和可靠性方面的作用愈发重要。企业需要建立完善的数据质量管理和校验机制,并通过数据清洗和标准化提高数据质量。 数据安全与隐私保护是数据治理中的另一个重要领域。随着数据量的快速增长和互联网技术的迅速发展,数据安全与隐私保护面临前所未有的挑战。企业需要加强数据安全与隐私保护的法律法规和技术手段,采用数据加密、脱敏和备份恢复等技术手段,以及加强培训和教育,提高安全意识和技能水平。 数据流程管理与监控是确保数据质量、提高数据利用率、保护数据安全的重要环节。有效的数据流程管理可以确保数据流程的合规性和高效性,而实时监控则有助于及时发现并解决潜在问题。企业需要设计合理的数据流程架构,制定详细的数据管理流程规范,并运用数据审计和可视化技术手段进行监控。 数据资产管理是将数据视为组织的重要资产,通过有效的管理和利用,为组织带来经济价值。数据资产管理涵盖数据的整个生命周期,包括数据的创建、存储、处理、共享、使用和保护。它面临的挑战包括数据量的快速增长、数据类型的多样化和数据更新的迅速性。组织需要建立完善的数据管理体系,提高数据处理和分析能力,以应对这些挑战。同时,数据资产的分类与评估、共享与使用规范也是数据资产管理的重要组成部分,需要制定合理的标准和规范,确保数据共享的安全性和隐私保护,以及建立合理的利益分配和权益保障机制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值