使用Dcoker Registry搭建私有镜像仓库

news2025/2/25 6:20:17

Dcoker Registry 和Harbor有什么相似和区别?各自有什么优劣,请详细介绍


Docker Registry和Harbor都是容器镜像仓库管理系统,用于存储、管理和分发Docker镜像。它们有一些相似之处,但也存在一些区别。下面是对它们的相似之处和区别的详细介绍:

相似之处:

  1. 容器镜像存储和管理:Docker Registry和Harbor都提供了容器镜像的存储和管理功能,可以帮助用户方便地上传、存储和检索镜像。

  2. 镜像版本控制:两者都支持镜像的版本控制,可以通过标签或哈希值来管理和检索不同版本的镜像。

  3. 权限和访问控制:Docker Registry和Harbor都提供了用户认证和访问控制机制,可以对镜像仓库进行权限管理,控制用户对镜像的访问和操作权限。

  4. 镜像复制和同步:两者都支持镜像的复制和同步功能,可以将镜像从一个Registry复制到另一个Registry,以实现镜像的分发和备份。

区别:

  1. 开源性质:Docker Registry是Docker官方提供的开源项目,而Harbor是由VMware孵化的开源项目。Docker Registry是更加通用和广泛使用的容器镜像仓库,而Harbor则专注于企业级容器镜像仓库的管理和安全性。

  2. 企业级功能:Harbor相对于Docker Registry具有更多的企业级功能。它提供了更丰富的权限管理、镜像复制、镜像扫描和漏洞检测、LDAP/AD集成等功能,适合用于企业内部的容器镜像管理和安全需求。

  3. 安全性:Harbor注重容器镜像的安全性,提供了镜像扫描、漏洞检测、安全策略等功能,可以帮助用户在容器镜像的存储和分发过程中确保安全性。

  4. 可扩展性:Harbor在架构设计上更具可扩展性,支持多节点部署和高可用性配置,可以满足大规模容器镜像存储和管理的需求。

优劣势:

Docker Registry的优势在于它是Docker官方提供的标准镜像仓库,具有广泛的用户基础和支持。它的简单性和易用性使得它适合用于小型项目或个人使用。然而,它在安全性和企业级功能方面的支持相对较弱。

Harbor的优势在于它专注于企业级容器镜像管理和安全性,提供了丰富的功能和可扩展性。它适合用于企业环境中的容器镜像管理,尤其是对于有安全和合规性需求的组织来说,提供了更好的安全性和管理能力。

综上所述,选择使用Docker Registry还是Harbor取决于具体的使用场景和需求。如果你只是进行简单的个人或小型项目的镜像管理,Docker Registry可能是一个不错的选择。但如果你需要更多的企业级功能和安全性保障,以及对大规模容器镜像管理的需求,那么Harbor可能更适合你的需求。




准备工作


原来的Dcoker Registry是用Python写的,仓库地址 github.com/docker-archive/docker-registry[1],性能不够,已经archived。后面用Go重构了,仓库地址 github.com/distribution/distribution[2]

参照如下进行实践:

Docker入门:私有库(Docker Registry)简介及使用方法(防踩坑)[3]


docker pull registry 拉取镜像


alt

运行私有库Registry


这样就相当于本地有了个私有Docker hub

docker run -d -p 5000:5000 -v /Users/fliter/docker_volume/shuang_mac_registry:/tmp/registry --privileged=true registry

  • docker run:这是Docker命令行工具中用于启动一个容器的命令。
  • -d:这是一个选项,表示在后台运行容器(detached mode)。
  • -p 5000:5000:这是一个选项,将容器的端口映射到主机的端口。在这种情况下,容器的端口5000将映射到主机的端口5000。
  • -v /Users/fliter/docker_volume/shuang_mac_registry/:/tmp/registry:这是一个选项,用于将主机上的目录挂载到容器中。在这种情况下,主机上的 /Users/fliter/docker_volume/shuang_mac_registry目录将挂载到容器的 /tmp/registry目录。
  • --privileged=true:这是一个选项,将容器授予特权级别,允许容器内的进程执行一些特权操作。
  • registry:这是要运行的容器的镜像名称。

如果Mac上面5000端口被占用,可参考 http://blog.epurs.com/post/port5000-used-by-airplay/

alt

也可以按 这篇博客[4]的这种方式来启动

docker run -d \
--name registry-srv \
--restart=always \
-p 5000:5000 \
-v /Users/fliter/docker_volume/shuang_mac_registry:/var/lib/registry \
-v /Users/fliter/docker_volume/shuang_mac_registry/srv-config.yml:/etc/docker/registry/config.yml \
registry

/Users/fliter/docker_volume/shuang_mac_registry下新建srv-config.yml:

version: 0.1
log:
  fields:
    service: registry
storage:
  delete:
    enabled: true
  cache:
    blobdescriptor: inmemory
  filesystem:
    rootdirectory: /var/lib/registry
http:
  addr: :5000
  headers:
    X-Content-Type-Options: [nosniff]
health:
  storagedriver:
    enabled: true
    interval: 10s
    threshold: 3

还有这篇,通docker-compose的方式部署,比较推荐[5]


如果需要密码:

搭建docker私有仓库 配置用户名密码[6]

生成账号密码:name password123
docker run --entrypoint htpasswd registry:latest -Bbn name password123  >> /docker/registry/auth/htpasswd

账号密码是在这一步指定的



进入容器中查看


进入registry容器的时候的命令参数不能使用/bin/bash,而要使用:bin/sh、bash、sh三个中的一个。

输入命令进入registry容器: docker exec -it e7123b748321 /bin/sh

alt

之后push的容器镜像应该会存在这个目录下


制作一个新镜像


通过某个镜像创建容器,并对容器进行功能加强

docker run -itd --name='cui-ubuntu16.04' ubuntu:16.04


这是一个用于在Docker中运行一个名为"cui-ubuntu16.04"的容器的命令:

  • docker run:这是Docker命令行工具中用于启动一个容器的命令。
  • -itd:这是一组选项的组合:
    • -i:这是一个选项,表示要与容器的标准输入(stdin)进行交互。
    • -t:这是一个选项,为容器分配一个伪终端(pseudo-TTY)。
    • -d:这是一个选项,表示在后台运行容器(detached mode)。
  • --name='cui-ubuntu16.04':这是一个选项,用于给容器指定一个名称,本例中为"cui-ubuntu16.04"。
  • ubuntu:16.04:这是要运行的容器的镜像名称和标签。在这种情况下,它使用了Ubuntu 16.04的官方镜像。

综上所述,该命令的作用是在Docker中以后台交互模式(即可以与容器进行交互并分配伪终端)运行一个名为"cui-ubuntu16.04"的容器,使用了Ubuntu 16.04的官方镜像。


docker exec -it cui-ubuntu16.04 bash 进入容器,为其安装vim

apt-get update
apt-get install vim
alt

而后退出容器


提交容器副本为镜像

使用命令docker commit来提交容器副本:

docker commit -m="ubuntu advanced version(已安装了vim)" -a="cui" cui-ubuntu16.04 ubuntu-advanced:v1

docker commit指令中的参数说明:

  • -m:自定义的提交描述信息;
  • -a:指定镜像作者;
  • cui-ubuntu16.04:容器名字,这里也可以用容器ID代替;
  • ubuntu-advanced:v1:指定要创建的目标镜像的自定义名称(这里为unbuntu-advanced)和自定义版本(v1)
alt

将本地新制作的镜像 发布到私有仓库Registry


查看目前私服库Registry上有什么镜像


可以通过 curl -XGET http://0.0.0.0:5000/v2/_catalog 或直接访问http://localhost:5000/v2/_catalog,得到*{"repositories":[]}*,即目前本地私有库为空仓库,没有任何镜像


将新镜像修改为符合私服规范的Tag


docker tag 镜像ID或镜像名:Tag Host:Port/Repository:Tag,

(1)镜像ID或镜像名:要上传到私有库Registry的镜像ID或名字; (2)Tag:要上传的镜像版本号; (3)Host:本地私有库的映射网址(本文为0.0.0.0); (4)Post:本地私有库的映射端口(本文为5000); (5)Repository:Tag:上传到私有库Registry后自定义的镜像名字、版本号。


在此即 docker tag ubuntu-advanced:v1 0.0.0.0:5000/ubuntu-advanced:v1

这是一个用于为Docker镜像打标签(tag)的命令:

  • docker tag:这是Docker命令行工具中用于给镜像打标签的命令。
  • ubuntu-advanced:v1:这是要打标签的原始镜像名称和标签。在这种情况下,原始镜像的名称为"ubuntu-advanced",标签为"v1"。
  • 0.0.0.0:5000/ubuntu-advanced:v1:这是新的标签名称,格式为 <registry>/<repository>:<tag>。在这种情况下,新标签的名称为"0.0.0.0:5000/ubuntu-advanced:v1",表示镜像将被推送到名为"0.0.0.0:5000"的Docker注册表(registry),并在该注册表下的"ubuntu-advanced"仓库中使用"v1"标签。

综上所述,该命令的作用是将名为"ubuntu-advanced:v1"的原始镜像打上一个新的标签"0.0.0.0:5000/ubuntu-advanced:v1",以便后续可以将该镜像推送到指定的Docker注册表中。

alt

修改配置文件使docker支持http


alt

在此处新增一行 *"insecure-registries": ["0.0.0.0:5000"]*,即完整配置如下:

{
 "builder": {
  "gc": {
   "defaultKeepStorage""20GB",
   "enabled"true
  }
 },
 "experimental"false,
 "features": {
  "buildkit"false
 },
 "registry-mirrors": [
  "https://docker.mirrors.ustc.edu.cn"
 ],
 "insecure-registries": ["0.0.0.0:5000"]
}

应用&重启 (之后记得把registry服务起起来)


push推送到私服库


docker push 0.0.0.0:5000/ubuntu-advanced:v1

一直报错:

alt

记得要关闭代理!

alt

这时通过 curl -XGET http://0.0.0.0:5000/v2/_catalog 或直接在浏览器访问 http://localhost:5000/v2/_catalog,都会得到 *{"repositories":["ubuntu-advanced"]}*,即已经将unbunt-advanced镜像推送到私有仓库了~

还可以进入容器的相应目录

alt

这时可以通过 docker pull 0.0.0.0:5000/ubuntu-advanced:v1拉取该镜像




可视化


几个用于可视化的镜像


joxit/docker-registry-ui[7]hyper/docker-registry-web[8] 都有什么作用?

更多可视化镜像,可参考 Docker Registry Web UI[9]

joxit/docker-registry-uihyper/docker-registry-web 都是用于 Docker 镜像仓库(Registry)的用户界面工具,它们提供了一种方便的方式来管理和浏览 Docker 镜像仓库。

  1. joxit/docker-registry-ui

    • joxit/docker-registry-ui 是一个基于 Web 的用户界面工具,用于管理 Docker 镜像仓库。
    • 它提供了一个直观的界面,允许你查看、搜索和浏览 Docker 镜像,管理标签(tags),以及执行一些基本的仓库操作,如删除镜像或标签。
    • 这个工具可以帮助你更轻松地管理 Docker 镜像仓库,并提供了一种友好的方式来查看和操作镜像。
  2. hyper/docker-registry-web

    • hyper/docker-registry-web 是另一个基于 Web 的用户界面工具,用于管理 Docker 镜像仓库。
    • 它提供了一个简单易用的界面,允许你浏览镜像仓库中的镜像和标签,查看详细信息,并执行一些基本的管理操作,如删除镜像或标签。
    • joxit/docker-registry-ui 类似,它可以使 Docker 镜像仓库的管理更加方便和可视化。

这些工具主要用于与 Docker 镜像仓库进行交互的操作,并提供了一个用户友好的界面来执行这些操作,而无需直接使用 Docker 命令行或其他 API。它们使得查看和管理 Docker 镜像仓库变得更加直观和易于操作。

请注意,这两个工具是由不同的开发者维护的,具体的功能和界面可能有所不同。你可以根据个人偏好选择其中一个来满足你对 Docker 镜像仓库管理的需求。

alt
alt

看起来前者用的多一些

参考 Docker 安装私有镜像仓库 Registry 和 可视化镜像管理工具 docker-registry-ui [10],

docker pull joxit/docker-registry-ui:1.5-static

而后执行

docker run -p 8280:80 --name registry-ui \
--link zen_spence:zen_spence \
-e REGISTRY_URL="http://registry:5000" \
-e DELETE_IMAGES="true" \
-e REGISTRY_TITLE="Registry" \
-d joxit/docker-registry-ui:1.5-static

其中 zen_spence为docker ps查看到的Docker Registry服务的名称...(如果不指定,每次随机分配一个..)

通过上面这段命令启动的docker-registry-ui会Exited


用其他方式:

首先可以在启动registry服务时,通过* --name registry* 指定名称。即 docker run -d -p 5000:5000 -v /Users/fliter/docker_volume/shuang_mac_registry:/tmp/registry --privileged=true --name registry registry

再执行 docker run -d -p 5050:80 --name docker-registry-ui joxit/docker-registry-ui

访问http://localhost:5050/[11],可以看到界面


在页面右上方新增url http://localhost:5000/会报如下错误:

An error occured: Check your connection and your registry must have Access-Control-Allow-Origin header set to http://localhost:5050

启动跨域后,私有仓库的ui框架才能顺利通过registry提供的接口拿到数据,不然会报跨域的错误。 当然也可以启动registry容器后,在进入容器里边进行跨域设置。


解决起来还比较麻烦。。

将之前的docker-registry和docker-registry-ui都删掉,多个服务,用docker-compose部署最方便

参照: docker-compose简单使用。同时启动私有仓库与私有仓库管理ui[12]

创建config.yaml:

给registry创建一个配置文件,主要是配置允许跨域

mkdir -p /Users/fliter/docker_config_center

cat > /Users/fliter/docker_config_center/config.yml <<EOF
version: 0.1
log:
  accesslog:
    disabled: true
  level: debug
  formatter: text
  fields:
    service: registry
    environment: staging
storage:
  delete:
    enabled: true
  cache:
    blobdescriptor: inmemory
  filesystem:
    rootdirectory: /var/lib/registry
http:
  addr: :5000
  headers:
    X-Content-Type-Options: [nosniff]
    Access-Control-Allow-Origin: ['http://127.0.0.1']
    Access-Control-Allow-Methods: ['HEAD', 'GET', 'OPTIONS', 'DELETE']
    Access-Control-Allow-Headers: ['Authorization', 'Accept']
    Access-Control-Max-Age: [1728000]
    Access-Control-Allow-Credentials: [true]
    Access-Control-Expose-Headers: ['Docker-Content-Digest']
  http2:
    disabled: false
health:
  storagedriver:
    enabled: true
    interval: 10s
    threshold: 3
EOF

使用docker-compose同时启动这两个容器即可

cat > docker-compose.yaml <<EOF
version: '2.0'
services:
  registry:
    image: registry:2.8.1
    ports:
      - 5000:5000
    volumes:
      - /Users/fliter/docker_volume/shuang_mac_registry:/var/lib/registry
      - /Users/fliter/docker_config_center/config.yml:/etc/docker/registry/config.yml
  ui:
    image: joxit/docker-registry-ui:latest
    ports:
      - 80:80
    environment:
      - REGISTRY_TITLE=My Private Docker Registry
      - REGISTRY_URL=http://127.0.0.1:5000
      - SINGLE_REGISTRY=true
    depends_on:
      - registry
EOF

然后执行 docker-compose up -d

直接访问 http://localhost/ 即可

alt

docker push 0.0.0.0:5000/ubuntu-advanced:v1

进入容器查看

alt

已经push成功。

但访问 http://localhost/

alt

这是因为之前上面的docker-compose.yaml中REGISTRY_URL=后面有个空格

docker-compose down停止,而后docker-compose up -d重新拉起

如果访问 http://localhost/ ,还是会报之前的跨域问题

alt

需要访问 http://127.0.0.1/

alt

点击镜像,可以看到更详细的信息

alt
alt

参考资料

[1]

github.com/docker-archive/docker-registry: https://github.com/docker-archive/docker-registry

[2]

github.com/distribution/distribution: https://github.com/distribution/distribution

[3]

Docker入门:私有库(Docker Registry)简介及使用方法(防踩坑): https://blog.csdn.net/weixin_37926734/article/details/123279987

[4]

这篇博客: https://www.cnblogs.com/leozhanggg/p/12050322.html

[5]

还有这篇,通docker-compose的方式部署,比较推荐: https://www.1zilc.top/javascript/%E7%A7%81%E4%BA%BAdocker-registry%E6%90%AD%E5%BB%BA%E6%8C%87%E5%8D%97/1zilc/

[6]

搭建docker私有仓库 配置用户名密码: https://blog.csdn.net/qq_38637558/article/details/99603071

[7]

joxit/docker-registry-ui: https://hub.docker.com/r/joxit/docker-registry-ui

[8]

hyper/docker-registry-web: https://hub.docker.com/r/hyper/docker-registry-web

[9]

Docker Registry Web UI: https://ijayer.github.io/post/tech/devops/docker/20181026-registry-and-webui/

[10]

Docker 安装私有镜像仓库 Registry 和 可视化镜像管理工具 docker-registry-ui : https://www.cnblogs.com/Cryan/p/15043236.html

[11]

http://localhost:5050/: http://localhost:5050/

[12]

docker-compose简单使用。同时启动私有仓库与私有仓库管理ui: http://m.tnblog.net/aojiancc2/article/details/7760

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/743439.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

idea导入springboot项目,下载的pom.xml文件是html格式。

一、可以看到我的pom.xml的parent标签 <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0…

使用cuda报错的一次记录(CUDA error: out of memory)

原因&#xff1a; 由于batch_size设置过大导致的&#xff01;&#xff01;&#xff01;

机器学习技术(四)——特征工程与模型评估

机器学习技术&#xff08;四&#xff09;——特征工程与模型评估(1️⃣) 文章目录 机器学习技术&#xff08;四&#xff09;——特征工程与模型评估(:one:)一、特征工程1、标准化2、特征缩放3、缩放有离群值的数据4、非线性转换5、样本归一化6、特征二值化7、标称特征编码(one-…

亚马逊云科技推出的一项完全托管的生成式AI服务——Amazon Bedrock

在全球生成式AI浪潮兴起之际&#xff0c;以“智联世界&#xff0c;生成未来”为主题的2023世界人工智能大会&#xff08;WAIC 2023&#xff09;于7月6日在上海世博中心拉开帷幕。大会首日&#xff0c;亚马逊云科技携生成式AI产品Amazon Bedrock亮相大会现场&#xff0c;亚马逊云…

C语言 指针进阶(二)

目录 一.函数指针 1.1函数指针的认识 1.2函数指针的使用 二、函数指针数组 1.1函数指针的认识 1.2 函数指针数组实现计算器 三、指向函数指针数组的指针 四、回调函数 通过使用qsort函数加强对回调函数的理解 qsort排序整形 qosrt排序结构体 用冒泡排序的思想&…

Java设计模式之结构型-组合模式(UML类图+案例分析)

目录 一、基础概念 二、UML类图 三、角色分析 四、案例分析 1、基本实现 2、菜单遍历 五、总结 一、基础概念 组合模式&#xff08;Composite Pattern&#xff09;又叫部分-整体模式&#xff0c;它通过将对象组合成树形结构来表示“整体-部分”的层次关系&#xff0c…

《网络安全标准实践指南》(72页)

导读 摘要&#xff1a;为指导网络数据安全风险评估工作&#xff0c;发现数据安全隐患&#xff0c;防范数据安全风险&#xff0c;依据《中华人民共和国网络安全法》《中华人民共和国数据安全法》《中华人民共和国个人信息保护法》等法律法规&#xff0c;参照数据安全相关国家标…

[MySQL]MySQL表的操作

[MySQL]表的操作 文章目录 [MySQL]表的操作1. 创建表2. 创建表的示例3. 查看表4. 修改表5. 删除表6. 关于表操作 1. 创建表 语法&#xff1a; CREATE TABLE [IF NOT EXISTS] table_name(field1 datatype1 [COMMENT 注释信息],field2 datatype2 [COMMENT 注释信息],field3 dat…

使用VSC从零开始写一个Vue前端

使用Visual Studio Code&#xff08;VSC&#xff09;进行Vue开发非常方便&#xff0c;下面是一些基本步骤&#xff1a; 安装Node.js&#xff1a;Vue.js是基于Node.js的&#xff0c;所以首先需要安装Node.js。你可以从Node.js官方网站&#xff08;https://nodejs.org&#xff09…

Acwing.859 Kruskal算法求最小生成树(Kruskal算法)

题目 给定一个n个点m条边的无向图&#xff0c;图中可能存在重边和自环&#xff0c;边权可能为负数。 求最小生成树的树边权重之和&#xff0c;如果最小生成树不存在则输出impossible。 给定一张边带权的无向图G(V,E)&#xff0c;其中V表示图中点的集合&#xff0c;E表示图中边…

Linux - CentOS 二进制安装 MySQL 8.0.31(非常实用)

一、下载 mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz 下载地址&#xff1a;MySQL :: Download MySQL Community Server (Archived Versions) 具体如下图所示&#xff1a; 二、将 mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz 放入到服务器的 /usr/local &#xff08;路径可…

书法vr实景授课极大丰富了艺术家的表现语言

为了加强新形势下中华优秀传统文化教育&#xff0c;探索现代科学技术与传统文化的结合。VR公司深圳华锐视点不断创新VR虚拟现实技术在传统文化方面的体验活动&#xff0c;激发学生对传统文化的学习兴趣&#xff0c;树立民族文化自信!搭建书法授课VR虚拟场景&#xff0c;为学生创…

vue2基础用法原理

本篇转载&#xff1a;http://t.csdn.cn/KtidI 文章目录 1. vue基础知识和原理1.1 初识Vue1.2 模板语法1.3 数据绑定1.4 el与data的两种写法1.5 Vue中的MVVM1.6 数据代理1.7 事件处理1.8 键盘事件1.9 计算属性1.10 监视属性1.11 绑定样式class样式style样式 1.12 条件渲染v-ifv-…

(论文翻译)PRUNING FILTER IN FILTER《滤波器中的剪枝滤波器》

公式不清楚的地方请对照英文原文进行查看&#xff1a;原文链接 ABSTRACT 剪枝已成为现代神经网络压缩和加速的一种非常有效的技术。现有的剪枝方法可分为两大类:滤波器剪枝(FP)和权重剪枝(WP)。与WP相比&#xff0c;FP在硬件兼容性方面胜出&#xff0c;但在压缩比方面失败。为了…

海外APP外包开发第三方支付集成

APP开发过程中有收费功能时就需要集成第三方支付&#xff0c;相比传统的信用卡支付&#xff0c;第三方支付极大的提高了用户的支付便捷度&#xff0c;也推广了第三方支付的使用范围。海外有哪些支付渠道以及如何集成&#xff0c;今天和大家分享这方面的知识&#xff0c;希望对大…

微信小程序canvas生成图片并保存

需求&#xff1a; 做一个类似下图的功能。图片内容是动态的&#xff0c;用canvas画出来&#xff0c;生成临时图片&#xff0c;再保存。 实现&#xff1a; <view class"canvasBox"><canvas canvas-id"myCanvas" class"myCanvas">&l…

Burp的JS API接口过滤插件

Burp的JS API接口过滤插件 过滤js文件中的接口信息&#xff0c;并显示接口内容在js文件中的上下文。从js文件中过滤你需要的敏感信息&#xff0c;且支持在配置文件中自定义检出规则。完全被动检测&#xff0c;不会有任何主动请求行为。防止不可控请求的产生。

前端js react vue怎么实现在线预览doc文档

先说结论&#xff1a; 目前在纯前端层面没有很好的方案&#xff0c;基本都需要服务端的介入。 1.方案一&#xff1a;使用view.officeapps 优点&#xff1a;简单易用&#xff0c;无需配置 缺点&#xff1a;文档需要支持外网访问&#xff0c;且文档会是公开可见的&#xff0c…

skywalking java agent集成

目录 概述 裸机集成 docker集成 k8s集成 高级特性 Trace api Logback traceId协同 跨线程trace 附录 Agent参数 本地缓存队列参数 是否显示Sql参数 其他参数 概述 java 应用skywalking集成主要以java agent形式接入。 官方详细文档点击skywalking-java集成查看。…

负载均衡的知识点

目录 1.负载均衡是什么 2.负载均衡的分类 客户端负载均衡&#xff1a; 服务端负载均衡&#xff1a; 软件实现&#xff1a;根据OSI模型可以分为四层负载均衡和七层负载均衡 硬件实现&#xff1a; 附1&#xff1a;客户端和服务端&#xff1a; 附2&#xff1a;OSI…