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. Ubuntu复习笔记-认识Linux

    本次复习基于\(Ubuntu20.04\)的发行版进行总结,目的是更好记录自己学习的\(Linux\). 认识Linux 学习\(Linux\)之前,需要搞懂几个概念,\(Linux\)桌面操作系统与 ...

  2. 基于Spring MVC + Spring + MyBatis的【图书资源管理系统】

    资源下载:https://download.csdn.net/download/weixin_44893902/45598347 练习点设计:模糊查询.删除.新增 一.语言和环境 实现语言:JAVA语 ...

  3. SpringCloud创建Eureka Client服务注册

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

  4. Zookeeper集群安装(开启kerberos)

    安装规划 zookeeper集群模式,安装到如下三台机器 10.43.159.237 zdh-237 10.43.159.238 zdh-238 10.43.159.239 zdh-239 Kerbe ...

  5. 分享一个自研开发的QA自动化审计工具-Sonar检查

    评价一个系统或软件的质量高低,我始终认为除了需求和设计外,代码质量很重要,一个高质量的系统或软件,并不是被测试出来的,更多的是要靠设计和开发出来的.目前也有很多自动化的测试工具,更多的是从功能和性能角 ...

  6. Python中切片方法总结

    对字符串或列表使用切片方法进行操作时 对包含[-1]的方法的使用经常用错 其实[-1]即指最后一个元素(同理[-2]指倒数第二个元素) 现总结如下 以便加深记忆 >>> li = [ ...

  7. Flask_响应(四)

    响应即视图函数的返回值,前面的例子的返回值都很简单,直接返回值.但是Flask Http协议的返回值中通常还会有以下几种不同的方式. 一.return元组 通过return一个元组构造响应信息. 语法 ...

  8. redis中文乱码问题

    1.可以直接打开dos指令框输入指令进去redis数据库,因为在安装的时候就已经勾选了配置默认的环境变量. 2.可以输入ip进去,redis-cli.exe -h 192.168.32.8 -p 63 ...

  9. 微信小程序开发 --- 小白之路 --- 心得

    1.前言 今天 ,发现我的饭卡不见了....悲催 ,看了一下学校的微信小程序,查了下我这饭卡的流水记录,嗯...最后出现的地方在洗澡房... 好吧,扯远了,虽然没找到,可是突发奇想 ,小程序挺方便的, ...

  10. GoWeb之gin框架

    Gin 是一个 go 写的 web 框架,具有高性能的优点.官方地址:https://github.com/gin-gonic/gin 一.快速上手 安装 go mod init go get -u ...