Docker镜像仓库Harbor之Swagger REST API整合配置
转载自:https://cloud.tencent.com/developer/article/1010618
1、Swagger 介绍
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTFul 风格的 Web 服务。通过 Swagger,我们可以方便的、快速的实现 RESTFul API,同时它也提供UI界面,可以直观的管理和测试各个API接口,它还可以集成到各种开发语言中,大大提高了我们日常工作效率。
2、预览 Harbor REST API 整合配置
我们可以通过 Harbor 提供的 REST API yaml 描述文件,通过在线 Swagger 编辑器,来直观的预览一下 Harbor REST API信息。 1) 下载或直接复制 Harbor 的 swagger.yaml 信息到官网在线 Swagger 编辑器 左侧区域,右侧即可直观看到信息。 2)直接在官网在线 Swagger 编辑器,通过Import URL或Import File,右侧即可直观看到信息。
Harbor swagger.yaml 地址
URL1:https://raw.githubusercontent.com/vmware/harbor/master/docs/swagger.yaml
URL2:https://github.com/vmware/harbor/blob/master/docs/swagger.yaml

3、Harbor与Swagger整合配置
1)下载 prepare-swagger.sh 和 swagger.yaml 到 Harbor 安装目录下,我本地虚拟机安装目录为:/home/wanyang3/harbor
$ cd /home/wanyang3/harbor
地址1:
$ wget https://raw.githubusercontent.com/vmware/harbor/master/docs/prepare-swagger.sh
$ wget https://raw.githubusercontent.com/vmware/harbor/master/docs/swagger.yaml
地址2:
$ wget https://github.com/vmware/harbor/blob/master/docs/prepare-swagger.sh
$ wget https://github.com/vmware/harbor/blob/master/docs/swagger.yaml
2)编辑 prepare-swagger.sh,修改 SCHEME 和 SERVER_IP 配置
1、修改SCHEME为Harbor配置文件harbor.cfg中设置的ui_url_protocol=http
SCHEME=http
2、修改SERVER_ID为Harbor服务的IP或域名地址,这里我们使用ip
SERVER_ID=10.236.60.101
3)给 prepare-swagger.sh 可执行权限
chmod +x prepare-swagger.sh
4)执行 prepare-swagger.sh 文件,它会下载依赖的 Swagger 包,并将解压缩目录复制到../src/ui/static/vendors目录,并修改index.html相关配置。同时复制swagger.yaml文件复制到../src/ui/static/resources/目录,并修改yaml相关配置。
./prepare-swagger.sh
5)编辑 docker-compose.yml 文件,在 ui.volumes 下增加挂载 swagger 的配置
$ vim docker-compose.yml
...
ui:
...
volumes:
- ./common/config/ui/app.conf:/etc/ui/app.conf:z
- ./common/config/ui/private_key.pem:/etc/ui/private_key.pem:z
- /data/secretkey:/etc/ui/key:z
- /data/ca_download/:/etc/ui/ca/:z
## 下边就是增加的配置 ##
- ../src/ui/static/vendors/swagger-ui-2.1.4/dist/:/harbor/static/vendors/swagger/:z
- ../src/ui/static/resources/yaml/swagger.yaml:/harbor/static/resources/yaml/swagger.yaml:z
...
6)重启 Harbor 容器
$ docker-compose down -v
$ docker-compose up -d
7)访问 Harbor Swagger Web 查看 REST API,访问地址为:http://10.236.60.101/static/vendors/swagger/index.html。

注意:在使用 Harbor API 时,是需要 session ID 的,当我们未登录 Harbor 时,直接使用API将得不到任何结果,这里如果我们想使用 Swagger UI 点击访问API返回结果,那么需要在浏览器中先登录 Harbor Web UI,登录后新开一个tab,在这个tab访问 Harbor Swagger Web,将会得到正常的响应结果,因为这时session已经共享,会话认证通过。我们以 http://10.236.60.101/api/users/current 获取当前用户信息接口为例:


4、FQA
上边第三步的第5步,编辑 docker-compose.yml 文件,在 ui.volumes 下增加挂载 swagger 的配置时,
## 下边就是增加的配置 ##
- ../src/ui/static/vendors/swagger-ui-2.1.4/dist/:/harbor/static/vendors/swagger/:z
- ../src/ui/static/resources/yaml/swagger.yaml:/harbor/static/resources/yaml/swagger.yaml:z
注意:…swagger-ui-2.1.4/dist 后边的/以及 …vendors/swagger 后边的/得带上,否则dist目录下的文件不能正常挂载到容器swagger目录下,访问时报错404。
这里我们着重介绍了Harbor之Swagger REST API整合配置相关操作,忽略Harbor安装配置,详细可以参考上一篇文章 Docker镜像仓库Harbor之搭建及配置。
参考资料
Docker镜像仓库Harbor之Swagger REST API整合配置的更多相关文章
- docker 镜像仓库 Harbor 部署 以及 跨数据复制
docker 镜像仓库 Harbor 部署 跨数据复制 Harbor 是 Vmwar 公司开源的 企业级的 Docker Registry 管理项目 它主要 提供 Dcoker Registry 管理 ...
- 离线手动部署docker镜像仓库——harbor仓库(HTTPS)
实验环境: harbor服务器系统:CentOS Linux release 7.5.1804 (Core)harbor服务器IP:10.1.12.114harbor版本:v1.5.0docker版本 ...
- 企业级Docker镜像仓库Harbor部署与使用
yum install docker 官网地址:https://docs.docker.com/compose/install/ 运行此命令以下载Docker Compose的当前稳定版本 1 sud ...
- Docker镜像仓库Harbor搭建及配置
一.harbor简介 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全.标识和管理等,扩展了开源Docker Distribut ...
- Docker镜像仓库Harbor部署
一.Harbor组件 组件 功能 harbor-adminserver 配置管理中心 harbor-db Mysql数据库 harbor-jobservice 负责镜像复制 harbor-log 记录 ...
- Docker镜像仓库Harbor之搭建及配置
目录 Harbor介绍环境.软件准备Harbor服务搭建Harbor跨数据复制配置FAQ1.Harbor 介绍 Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的 ...
- Docker(二):Docker镜像仓库Harbor搭建
安装docker-compose 因为docker-compose下载容易失败, 所以选择从github下载方式安装. [root@harbor ~]# mv docker-compose-Linux ...
- Docker镜像仓库Harbor安装
export VERSION=18.06 && curl -fsSL http://rainbond-pkg.oss-cn-shanghai.aliyuncs.com/releases ...
- Docker镜像仓库Harbor搭建
园子里面已经有人写过了.也写得很好,我这里只记录下我遇到的问题 Harbor 依赖: 1:docker 2:docker-compose 怎么安装就不说了. 然后是安装Harbor github:ht ...
随机推荐
- 如何用天气预警API接口进行快速开发
天气预警能够指导人们出行.同一种类的气象灾害预警信号级别不同,对应的防御措施也不尽相同,人们通过气象灾害预警信号,合理安排出行.公众要提高防范意识,养成接收和关注预警信息的习惯,了解预警信息背后的意义 ...
- day02-2
JAVA入门 1.C&&C++ 1972年C诞生 贴近硬件,运行极快,效率极高 操作系统,编译器,数据库,网络系统等 指针和内存管理 1982年C++诞生 面向对象 兼容C 图形领域. ...
- 启用Hyper-v后,重启后界面提示 无法完成功能配置,正在撤销更改
安装docker后,提示需要启用hyper-v,在控制面板中勾选Hyper-v,然后重启,更新快完成就提示无法完成功能配置,正在撤销更改 解决方法 方法1 控制面板一个一个选 方法2 百度了n多内容, ...
- 用VS Code搞Qt6:编译源代码与基本配置
先说明一下,本水文老周仅讨论新版的 Qt 6,旧版的 Qt 不讨论. 尽管 Qt 有自己的开发环境,但老周必须说句不装逼的话:真的不好用.说起写代码,当然了,用记事本也能写.但是,有个高逼格的工具,写 ...
- 带你熟悉云网络的“电话簿”:DNS
摘要:无论你域名怎么解析,最终我还是要用IP和别人通信的.域名只是你的皮囊,IP才是你的灵魂. 本文分享自华为云社区<<跟唐老师学习云网络> - DNS电话簿>,作者: tsj ...
- raspberrypi系统在加入k8s作为node节点时遇到的问题
新买的树莓派4b到货后就迫不及待的烧录上raspberrypi系统,将新派加入我的k8s集群,期间遇到了点小挫折,好歹也一个一个解决了: 一.kubelet版本不对导致无法加入k8s集群 在执行kub ...
- Go语言基础三:基本数据类型和运算符
Go语言数据类型 与其他编程语言一样,Go语言提供了各种数据类型,可分为基本的数据类型和复杂的数据类型.基本的数据类型就是基本的构造块,例如字符串.数字和布尔值.复杂的数据类型是用户自己定义的结构,由 ...
- 从零开始Blazor Server(8)--增加菜单以及调整位置
这篇干啥 这篇文章主要是把前面的一些东西稍微调整一下,使其更适合后面的内容. 主要是两个事,一个是把原来的PermissionEntity直接变成MenuEntity,直接让最后一级是菜单,这样后面就 ...
- (原创)[C#] GDI+ 之鼠标交互:原理、示例、一步步深入、性能优化
一.前言 "GDI+"与"鼠标交互",乍一听好像不可能,也无从下手,但是实现原理比想象中要简单很多. 基于"GDI+"的"交互&q ...
- Luogu1502 窗口的星星 (线段树扫描线)
将每个点拓展为矩形,将\(y\)离散,延\(x\)轴扫描,每次更新最值 用了一百年的pushdown操作疑似有问题,亦或这道题特殊,我乱改了pushdown位置就过了,我能怎么办,WA了一发,y数组没 ...