Harbor简述


Habor是由VMWare公司开源的容器镜像仓库。事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访问控制 ,AD/LDAP集成以及审计日志等,足以满足基本企业需求。

官方地址:https://vmware.github.io/harbor/cn/

Harbor三种角色:

Guest:对指定项目只读权限 Developer:开发人员,读写项目的权限 Admin:项目管理,所有权限 Anonymous:当用户未登录时,该用户视为匿名用户,匿名用户不能访问私有项目,只能访问公开项目


Harbor http部署


组件 功能

harbor-adminserver 配置管理中心

harbor-db Mysql数据库

harbor-jobservice 负责镜像复制

harbor-log 记录操作日志

harbor-ui Web管理页面和API

nginx 前端代理,负责前端页面和镜像上传/下载转发

redis 会话

registry 镜像存储

一 Harbor安装

• 在线安装:从Docker Hub下载Harbor相关镜像,因此安装软件包非常小

• 离线安装:安装包包含部署的相关镜像,因此安装包比较大

• OVA安装程序:当用户具有vCenter环境时,使用此安装程序,在部署OVA后启动Harbor

```
二 docker-compose 安装

1 sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2 chmod +x /usr/local/bin/docker-compose
3 docker-compose --version

三 Harbor离线安装

离线安装下载离线包 https://github.com/vmware/harbor/releases

1 tar zxvf harbor-offline-installer-v1.7.5.tgz
2 cd harbor
3 vi harbor.cfg
4 hostname = 主机IP或起个域名(我使用了ip地址192.168.73.136)
5 ui_url_protocol = http
6 harbor_admin_password = 123456
7 ./prepare
8 ./install.sh

四 基本使用

其他docker主机需配置http镜像仓库可信任,才可以进行推送镜像和拉取镜像
vim /etc/docker/daemon.json
{"insecure-registries":["IP或者域名"]}
重启docker
systemctl restart docker

登陆

docker login -u admin -p 12345 www.adong.com打标签

docker tag mysql:5.7 www.adong.com/test/mysql:5.7
上传镜像
REPOSITORY字段含义 docker images
第一列:镜像中心仓库
第二列:镜像标记,一个仓库可以有多个标记,不指定默认latest
第三列:镜像ID
第四列:创建时间
第五列:镜像大小
docker push www.adong.com/test/mysql:5.7
镜像中心IP/域名 项目 名称 版本
push 需先登陆
docker login ip 
下载
docker pull www.adong.com/test/mysql:5.7
查看状态以及日志
日志存放路径 ls /var/log/harbor/
docker-compose ps 查看状态


Harbor HTTPS 部署


一 安装docker-compose1.23

1 sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2 chmod +x /usr/local/bin/docker-compose
3 docker-compose version

三 Harbor离线安装

离线安装下载离线包 https://github.com/vmware/harbor/releases

1 tar zxvf harbor-offline-installer-v1.7.5.tgz
2 cd harbor

三 配置自签证书

如果没有权威机构颁发的证书,以下是自签证书的创建

1 mkdir ssl -p
2 cd ssl
3 #1. Create your own CA certificate:
4 openssl req -newkey rsa:4096 -nodes -sha512 -subj "/C=CN/ST=/L=/O=/OU=/CN=www.adong.com" -keyout ca.key -x509 -days 3650 -out ca.crt
5 #2.Generate a Certificate Signing Request:
6 #If you use FQDN like yourdomain.com to connect your registry host, then you must use yourdomain.com as CN (Common Name).
7 openssl req -newkey rsa:4096 -nodes -sha512 -subj "/C=CN/ST=/L=/O=e/OU=/CN=www.adong.com" -keyout www.adong.com.key -out www.adong.com.csr
8 #3.Generate the certificate of your registry host:
9 openssl x509 -req -days 3650 -in www.adong.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out www.adong.com.crt

四 配置文件设置

刚才第二步解压缩之后,harbor目录下会生成harbor.conf文件,该文件就是Harbor的配置文件,编辑配置文件

 1 vim harbor.cfg
2 #hostname设置访问地址,可以使用ip、域名,不可以设置为127.0.0.1或localhost
3 hostname =www.adong.com
4 # 访问协议,默认是http,也可以设置https,如果设置https,则nginx ssl需要设置on
5 ui_url_protocol = https
6 ssl_cert = ./ssl/www.adong.com.crt 7 ssl_cert_key =./ssl/www.adong.com.key 8 #启动Harbor后,管理员UI登录的密码,默认是Harbor12345
9 harbor_admin_password = 12345

五 安装Harbor

启动 Harbor修改完配置文件后,在的当前目录执行./install.sh,Harbor服务就会根据当期目录下的docker-compose.yml开始下载依赖的镜像,检测并按照顺序依次启动

1 ./prepare
2 ./install.sh

查看容器是否都启动成功

[root@localhost harbor]# docker-compose ps
Name Command State Ports
------------------------------------------------------------------------------------------------------------------------------------
harbor-adminserver /harbor/start.sh Up (healthy)
harbor-core /harbor/start.sh Up (healthy)
harbor-db /entrypoint.sh postgres Up (healthy) 5432/tcp
harbor-jobservice /harbor/start.sh Up
harbor-log /bin/sh -c /usr/local/bin/ ... Up (healthy) 127.0.0.1:1514->10514/tcp
harbor-portal nginx -g daemon off; Up (healthy) 80/tcp
nginx nginx -g daemon off; Up (healthy) 0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp,
0.0.0.0:80->80/tcp
redis docker-entrypoint.sh redis ... Up 6379/tcp
registry /entrypoint.sh /etc/regist ... Up (healthy) 5000/tcp
registryctl /harbor/start.sh Up (healthy)

六 访问主机配置域名

启动完成后,可以使用域名访问 https://www.adong.com,默认是80 443端口,如果端口占用,可以去修改docker-compose.yml文件中,对应服务的端口映射

windows系统,hosts文件地址:C:\Windows\System32\drivers\etc,Mac系统sudo vi /private/etc/hosts 编辑hosts文件,在底部加入域名和ip,用于解析

192.168.73.136 www.adong.com

七 登录 Web Harbor---https://www.adong.com
当前是自签的证书,不是权威机构颁发,显示不安全的链接,不影响加密
输入用户名admin,默认密码(或已修改密码)登录系统。
项目:新增/删除项目,查看镜像仓库,给项目添加成员、查看操作日志、复制项目等
日志:仓库各个镜像create、push、pull等操作日志
系统管理
用户管理:新增/删除用户、设置管理员等
复制管理:新增/删除从库目标、新建/删除/启停复制规则等
配置管理:认证模式、复制、邮箱设置、系统设置等
其他设置
用户设置:修改用户名、邮箱、名称信息
修改密码:修改用户密码

注意:非系统管理员用户登录,只能看到有权限的项目和日志,其他模块不可见。

用户管理--新建用户--- adong  Test@123
项目--新建项目--新建一个名称为test的项目,设置不公开。注意:当项目设为公开后,任何人都有此项目下镜像的读权限。命令行用户不需要“docker login”就可以拉取此项目下的镜像。进入新建项目 test --添加成员 test.完毕后,可以用test账户提交本地镜像到Harbor仓库了。

八 其他docker主机配置

如果是使用的权威机构颁发的证书,其他docker主机登录就不用配置以下,因为我是自签证书,因此需要配置

1、因是只签发证书,其他Linux主机没有签发的证书,需要手工添加:

1 mkdir /etc/docker/certs.d/www.adong.com -p
2 scp root@192.168.73.136:/root/harbor/ssl/www.adong.com.crt /etc/docker/certs.d/www.adong.com

2、运行命令,更新信任ca

1 update-ca-trust

九 基本使用

登陆harbor

1 docker login -u admin -p 12345 www.adong.com

给镜像打tag
docker tag mysql:5.7 www.adong.com/test/mysql:5.7
上传镜像
REPOSITORY字段含义 docker images
第一列:镜像中心仓库
第二列:镜像标记,一个仓库可以有多个标记,不指定默认latest
第三列:镜像ID
第四列:创建时间
第五列:镜像大小
docker push www.adong.com/test/mysql:5.7
镜像中心IP/域名 项目 名称 版本

下载镜像
docker pull www.adong.com/test/mysql:5.7
查看状态以及日志
日志存放路径 ls /var/log/harbor/
docker-compose ps 查看状态

企业级Docker容器镜像仓库Harbor的搭建的更多相关文章

  1. 容器技术之Docker私有镜像仓库harbor

    前文我们聊到了docker的私有镜像仓库docker-distribution的搭建和简单的使用,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13058338 ...

  2. 私有容器镜像仓库harbor

    私有镜像仓库Harbor 1.Harbor概述 Habor是由VMWare公司开源的容器镜像仓库.事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用 ...

  3. Docker 企业级镜像仓库 Harbor 的搭建与维护

    目录 一.什么是 Harbor 二.Harbor 安装 2.1.Harbor 安装环境 2.2.Harbor安装 2.3 配置HTTPS 三.Harbor 的使用 3.1.登录Harbor并使用 3. ...

  4. 【Docker】企业级镜像仓库harbor的搭建(http/https)及使用

    一:用途 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器. 二:安装docker-ce 环境:阿里云轻量应用服务器CentOS 7.3 这里通过yum Docker源仓 ...

  5. Docker镜像仓库Harbor之搭建及配置

    目录 Harbor介绍环境.软件准备Harbor服务搭建Harbor跨数据复制配置FAQ1.Harbor 介绍 Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的 ...

  6. Docker私有镜像仓库Harbor

    一.安装Harbor(离线安装包的方式安装) 1.解压离线包 2.进入harbor目录中编辑harbor.yml 3.安装docker-compose yum -y install docker-co ...

  7. Docker镜像仓库Harbor之Swagger REST API整合配置

    转载自:https://cloud.tencent.com/developer/article/1010618 1.Swagger 介绍 Swagger 是一个规范和完整的框架,用于生成.描述.调用和 ...

  8. 企业级Docker镜像仓库Harbor部署与使用

    yum install docker 官网地址:https://docs.docker.com/compose/install/ 运行此命令以下载Docker Compose的当前稳定版本 1 sud ...

  9. 企业级镜像仓库harbor搭建

    企业级镜像仓库harbor搭建 一.    Harbor概述 VMware公司最近开源了企业级Registry项目Harbor,其的目标是帮助用户迅速搭建一个企业级的Docker registry 服 ...

随机推荐

  1. MySQL8.0.20安装详解

    https://blog.csdn.net/yeb112233/article/details/106042867/ alter user root@localhost identified by ' ...

  2. SpringCloud创建Eureka Client服务注册

    1.说明 本文详细介绍微服务注册到Eureka的方法, 即Eureka Client注册到Eureka Server, 这里用任意一个Spring Cloud服务为例, 比如下面已经创建好的Confi ...

  3. 初识python: 多态

    多态:允许你将父对象设置成为,与一个或更多其子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作.    简单讲就是:允许将子类类型的指针赋值给父类类型的指针. 多态 ...

  4. 基于ShardingJDBC的分库分表详细整理

    转载 https://www.cnblogs.com/jackion5/p/13658615.html 前言 传统应用项目设计通常都是采用单一数据库作为存储方案,但是随着互联网的迅猛发展以及应用数据量 ...

  5. PPT2010初识

    原文链接:https://www.toutiao.com/i6486689592241029645/ 一.认识PPT PPT是PowerPoint简称,主要用于演示文稿的创建,即幻灯片的制作演示软件. ...

  6. vue3.0获取地址栏参数

    方法一 toRaw(route).query.value 方法二 router.currentRoute.value.query

  7. 关于 cannot create Parameters: [] 报错问题的解决方法

    其实在Sort类中添加无参构造就可以解决 我自己写的是Sort类,其它情况得视你们自己写的类决定 至于为什么也不是很清楚

  8. Sharding Sphere的分库分表

    什么是 ShardingSphere? 1.一套开源的分布式数据库中间件解决方案 2.有三个产品:Sharding-JDBC 和 Sharding-Proxy 3.定位为关系型数据库中间件,合理在分布 ...

  9. echart实现实时疫情图

    直接上代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> </h ...

  10. GeoServer介绍

    GeoServer本质上是一个地图服务器,它是遵循OpenGIS Web 服务器规范的J2EE实现,通过它可以方便的将地图数据发布为地图服务,实现地理空间数据在用户之间的共享.另外,它也提供了相应的接 ...