docker -私有镜像仓库 - harbor安装
文章目录
- 1、镜像仓库简介
- 2、Harbor简介
- 3、下载与安装
- 3.1、下载
- 3.2、安装
- 3.2.1、上传harbor-offline-installer-v2.8.2.tgz到虚拟机中解压并修改配置文件
- 3.2.2、解压tgz包
- 3.2.3、切换到解压缩后的目录下
- 3.2.4、准备配置文件
- 3.2.5、修改配置文件
- 4、启动Harbor
- 5、启动关闭命令
- 6、访问harbor
docker远程仓库 --》 gitee maven远程仓库
docker局域网仓库 --》 gitlab maven局域网仓库(阿里云镜像仓库)
一般公司开发中将项目的镜像放在局域网docker镜像仓库中管理。
docker:自带的registry镜像仓库过于简单
docker:harbor搭建企业级的私有镜像仓库
1、镜像仓库简介
镜像仓库作用:存储镜像,可以通过镜像仓库实现镜像的共享
镜像仓库的使用流程:
镜像仓库分类:
1、公有镜像仓库:可以理解成云仓库、公有仓库,是由某个组织、公司维护的仓库,对互联网开放,所有人共享。如官方的仓库docker hub。
2、私有镜像仓库:不对外开放。一般情况下只在公司内网中使用,用于加快镜像拉取速度、维护公司资产。
私有镜像仓库种类:
-
Registry是Docker自带的镜像仓库,部署运行非常简洁,非常适合在测试时使用。
-
Harbor
2、Harbor简介
Harbor是VMware公司开源的企业级DockerRegistry项目,其目标是帮助用户迅速搭建一个企业级的Dockerregistry服务。它以Docker公司开
源的registry为基础,提供了管理UI,基于角色的访问控制(Role Based Access Control),AD/LDAP集成、以及审计日志(Auditlogging) 等企业用户需求的功能,同时还原生支持中文。
3、下载与安装
Harbor被部署为多个Docker容器,因此可以部署在任何支持Docker的Linux服务器上,且需要Docker和Docker Compose才能安装。
3.1、下载
下载地址:https://github.com/goharbor/harbor/releases
3.2、安装
具体步骤如下所示:
3.2.1、上传harbor-offline-installer-v2.8.2.tgz到虚拟机中解压并修改配置文件
上传到 /opt 目录下
# 解压tgz包
tar -zxvf harbor-offline-installer-v2.8.2.tgz
# 切换到解压缩后的目录下
cd harbor
# 准备配置文件
cp harbor.yml.tmpl harbor.yml
# 修改配置文件
vim harbor.yml - hostname修改为自己虚拟机的ip地址- 注释所有的https的配置:
3.2.2、解压tgz包
[root@localhost opt]# tar -zxvf harbor-offline-installer-v2.8.2.tgz
harbor/harbor.v2.8.2.tar.gz
harbor/prepare
harbor/LICENSE
harbor/install.sh
harbor/common.sh
harbor/harbor.yml.tmpl
3.2.3、切换到解压缩后的目录下
[root@localhost opt]# cd harbor/
[root@localhost harbor]# ls
common.sh harbor.v2.8.2.tar.gz harbor.yml.tmpl install.sh LICENSE prepare
3.2.4、准备配置文件
[root@localhost harbor]# cp harbor.yml.tmpl harbor.yml
[root@localhost harbor]# ls
common.sh harbor.v2.8.2.tar.gz harbor.yml harbor.yml.tmpl install.sh LICENSE prepare
3.2.5、修改配置文件
[root@localhost harbor]# vim harbor.yml
4、启动Harbor
# 进入到 Harbor 的解压目录,执行安装脚本
sh install.sh
[root@localhost harbor]# sh install.sh [Step 0]: checking if docker is installed ...Note: docker version: 24.0.7[Step 1]: checking docker-compose is installed ...Note: Docker Compose version v2.14.2[Step 2]: loading Harbor images ...
21e7914e06fb: Loading layer [==================================================>] 38.39MB/38.39MB
bcd4591a1a5a: Loading layer [==================================================>] 91.73MB/91.73MB
af3f46d7aeca: Loading layer [==================================================>] 3.584kB/3.584kB
5380c26af354: Loading layer [==================================================>] 3.072kB/3.072kB
6462f972b019: Loading layer [==================================================>] 2.56kB/2.56kB
8cb0c83ac487: Loading layer [==================================================>] 3.072kB/3.072kB
cfbe2a0d2719: Loading layer [==================================================>] 3.584kB/3.584kB
e5293f9ebbe6: Loading layer [==================================================>] 20.48kB/20.48kB
Loaded image: goharbor/harbor-log:v2.8.2
5af62c831390: Loading layer [==================================================>] 115.4MB/115.4MB
82534d457de7: Loading layer [==================================================>] 25.09MB/25.09MB
80d2f6e2bcfc: Loading layer [==================================================>] 5.12kB/5.12kB
aefafcd9796f: Loading layer [==================================================>] 6.144kB/6.144kB
97428d289bc9: Loading layer [==================================================>] 3.072kB/3.072kB
c8c0719442e6: Loading layer [==================================================>] 2.048kB/2.048kB
ab5f5c9721f1: Loading layer [==================================================>] 2.56kB/2.56kB
66301f88beb6: Loading layer [==================================================>] 2.56kB/2.56kB
75f328befa4d: Loading layer [==================================================>] 2.56kB/2.56kB
a5b05318c510: Loading layer [==================================================>] 9.728kB/9.728kB
Loaded image: goharbor/harbor-db:v2.8.2
7a03cfe8755a: Loading layer [==================================================>] 5.948MB/5.948MB
96ad7512b4d1: Loading layer [==================================================>] 4.096kB/4.096kB
d92638592515: Loading layer [==================================================>] 3.072kB/3.072kB
48d74f8d036f: Loading layer [==================================================>] 17.57MB/17.57MB
9a03dbb78886: Loading layer [==================================================>] 18.36MB/18.36MB
Loaded image: goharbor/registry-photon:v2.8.2
c00acf6f4f58: Loading layer [==================================================>] 9.095MB/9.095MB
88edeb5b4944: Loading layer [==================================================>] 3.584kB/3.584kB
06d8a79a810a: Loading layer [==================================================>] 2.56kB/2.56kB
9cb5dd968a55: Loading layer [==================================================>] 59.3MB/59.3MB
557ccce847e1: Loading layer [==================================================>] 5.632kB/5.632kB
0a049ad6bb06: Loading layer [==================================================>] 116.7kB/116.7kB
17583ba2a843: Loading layer [==================================================>] 44.03kB/44.03kB
e1c4f1102d2f: Loading layer [==================================================>] 60.26MB/60.26MB
c8ec2ddada08: Loading layer [==================================================>] 2.56kB/2.56kB
Loaded image: goharbor/harbor-core:v2.8.2
aa80393262d7: Loading layer [==================================================>] 9.095MB/9.095MB
215dbb1a04b0: Loading layer [==================================================>] 3.584kB/3.584kB
6f2f5e479755: Loading layer [==================================================>] 2.56kB/2.56kB
147d2759d484: Loading layer [==================================================>] 47.58MB/47.58MB
8a962350165e: Loading layer [==================================================>] 48.37MB/48.37MB
Loaded image: goharbor/harbor-jobservice:v2.8.2
c2d19899aeb5: Loading layer [==================================================>] 5.948MB/5.948MB
c8ae0d52fd08: Loading layer [==================================================>] 4.096kB/4.096kB
2b478b343b5b: Loading layer [==================================================>] 17.57MB/17.57MB
bc764beb6923: Loading layer [==================================================>] 3.072kB/3.072kB
d9a27bb64f03: Loading layer [==================================================>] 31.12MB/31.12MB
b9281342e36e: Loading layer [==================================================>] 49.48MB/49.48MB
Loaded image: goharbor/harbor-registryctl:v2.8.2
49789c5ef6cb: Loading layer [==================================================>] 5.943MB/5.943MB
3c7b6ed957d3: Loading layer [==================================================>] 9.138MB/9.138MB
e9278e51e40e: Loading layer [==================================================>] 14.47MB/14.47MB
95bf8f5d9cb4: Loading layer [==================================================>] 29.29MB/29.29MB
64b7de829423: Loading layer [==================================================>] 22.02kB/22.02kB
474f017f0f6d: Loading layer [==================================================>] 14.47MB/14.47MB
Loaded image: goharbor/notary-signer-photon:v2.8.2
03882daa14fc: Loading layer [==================================================>] 6.48MB/6.48MB
277ca4b6664c: Loading layer [==================================================>] 4.096kB/4.096kB
3195ed08e16d: Loading layer [==================================================>] 3.072kB/3.072kB
1038a66bba4c: Loading layer [==================================================>] 193.4MB/193.4MB
10922dd1f89c: Loading layer [==================================================>] 14.09MB/14.09MB
7fa58b86e316: Loading layer [==================================================>] 208.3MB/208.3MB
Loaded image: goharbor/trivy-adapter-photon:v2.8.2
d9cd76d5991c: Loading layer [==================================================>] 52.85MB/52.85MB
980f48887875: Loading layer [==================================================>] 54.88MB/54.88MB
449a0993722b: Loading layer [==================================================>] 19.41MB/19.41MB
ef82d54c4095: Loading layer [==================================================>] 65.54kB/65.54kB
37ae0fc85f56: Loading layer [==================================================>] 2.56kB/2.56kB
1f410b1e1d0d: Loading layer [==================================================>] 1.536kB/1.536kB
882a66e43a76: Loading layer [==================================================>] 12.29kB/12.29kB
7a5957cadc7f: Loading layer [==================================================>] 2.622MB/2.622MB
e8a3f071c998: Loading layer [==================================================>] 416.8kB/416.8kB
Loaded image: goharbor/prepare:v2.8.2
bc73cb8addc7: Loading layer [==================================================>] 83.81MB/83.81MB
3671a4eef508: Loading layer [==================================================>] 6.1MB/6.1MB
a4eb38fb4116: Loading layer [==================================================>] 1.233MB/1.233MB
Loaded image: goharbor/harbor-portal:v2.8.2
c16f4880a6a0: Loading layer [==================================================>] 84.66MB/84.66MB
f56fbf7243e9: Loading layer [==================================================>] 3.072kB/3.072kB
031e3908240b: Loading layer [==================================================>] 59.9kB/59.9kB
d5e6d4e3eb25: Loading layer [==================================================>] 61.95kB/61.95kB
Loaded image: goharbor/redis-photon:v2.8.2
3b33d3218a04: Loading layer [==================================================>] 9.095MB/9.095MB
df2a1c214a73: Loading layer [==================================================>] 26.03MB/26.03MB
099a3e87a796: Loading layer [==================================================>] 4.608kB/4.608kB
8a8188a617c5: Loading layer [==================================================>] 26.82MB/26.82MB
Loaded image: goharbor/harbor-exporter:v2.8.2
06059da7cd8e: Loading layer [==================================================>] 83.81MB/83.81MB
Loaded image: goharbor/nginx-photon:v2.8.2
d0000dfd32d8: Loading layer [==================================================>] 5.943MB/5.943MB
5c8f6501414b: Loading layer [==================================================>] 9.138MB/9.138MB
4e37ce9ef2f9: Loading layer [==================================================>] 15.88MB/15.88MB
519b1ca3008d: Loading layer [==================================================>] 29.29MB/29.29MB
0497bd0e9332: Loading layer [==================================================>] 22.02kB/22.02kB
88ecfe080b68: Loading layer [==================================================>] 15.88MB/15.88MB
Loaded image: goharbor/notary-server-photon:v2.8.2[Step 3]: preparing environment ...[Step 4]: preparing harbor configs ...
prepare base dir is set to /opt/harbor
WARNING:root:WARNING: HTTP protocol is insecure. Harbor will deprecate http protocol in the future. Please make sure to upgrade to https
Generated configuration file: /config/portal/nginx.conf
Generated configuration file: /config/log/logrotate.conf
Generated configuration file: /config/log/rsyslog_docker.conf
Generated configuration file: /config/nginx/nginx.conf
Generated configuration file: /config/core/env
Generated configuration file: /config/core/app.conf
Generated configuration file: /config/registry/config.yml
Generated configuration file: /config/registryctl/env
Generated configuration file: /config/registryctl/config.yml
Generated configuration file: /config/db/env
Generated configuration file: /config/jobservice/env
Generated configuration file: /config/jobservice/config.yml
Generated and saved secret to file: /data/secret/keys/secretkey
Successfully called func: create_root_cert
Generated configuration file: /compose_location/docker-compose.yml
Clean up the input dirNote: stopping existing Harbor instance ...[Step 5]: starting Harbor ...
[+] Running 10/10⠿ Network harbor_harbor Created 0.1s⠿ Container harbor-log Started 0.7s⠿ Container harbor-portal Started 1.3s⠿ Container registry Started 1.5s⠿ Container harbor-db Started 1.8s⠿ Container redis Started 1.7s⠿ Container registryctl Started 1.4s⠿ Container harbor-core Started 2.1s⠿ Container harbor-jobservice Started 2.7s⠿ Container nginx Started 2.7s
✔ ----Harbor has been installed and started successfully.----
5、启动关闭命令
# 启动 Harbor
docker compose -f docker-compose.yml up -d
# 关闭 Harbor
docker compose -f docker-compose.yml stop
6、访问harbor
用户名/密码:admin/Harbor12345
相关文章:
docker -私有镜像仓库 - harbor安装
文章目录 1、镜像仓库简介2、Harbor简介3、下载与安装3.1、下载3.2、安装3.2.1、上传harbor-offline-installer-v2.8.2.tgz到虚拟机中解压并修改配置文件3.2.2、解压tgz包3.2.3、切换到解压缩后的目录下3.2.4、准备配置文件3.2.5、修改配置文件 4、启动Harbor5、启动关闭命令6、…...
头号积木玩家——软件工程专业职业生涯规划报告
说明:本报告为博主在浙江科技学院(现浙江科技大学)就读软件工程本科专业时,在必修课程《计算机导论》中撰写的报告。(报告主体2021年11月定稿,有删改) 标题说明:在电影《头号玩家》…...
Redis(初步认识和安装)
初识Redis 认识NoSQLSQL结构化:structure关联的:RelationalSQL查询ACID NoSQL非结构化无关联的非SQLBASE 认识Redis安装Redis 认识NoSQL SQL和NoSQL比较 SQL 结构化:structure 数据库中表的字段都有固定的结构 关联的:Relati…...
计算机网络:计算机网络概述:网络、互联网与因特网的区别
文章目录 网络、互联网与因特网的区别网络分类 互联网因特网基于 ISP 的多层次结构的互连网络因特网的标准化工作因特网管理机构因特网的组成 网络、互联网与因特网的区别 若干节点和链路互连形成网络,若干网络通过路由器互连形成互联网 互联网是全球范围内的网络…...
网络编程套接字TCP
前集回顾 上一篇博客中我们写了一个UDP的echo server,是一个回显服务器:请求是啥,响应就是啥 一个正常的服务器,要做三个事情: 读取请求并解析根据请求,计算响应把响应写回到客户端 DatagramPacket res…...
Git
Git-2.34.1-64-bitGit-2.34.1-64-bitTortoiseGit-2.4.0.2-64bitTortoiseGit-LanguagePack-2.4.0.0-64bit-zh_CN 下载Git-2.34.1-64-bit、TortoiseGit-2.4.0.2-64bit、TortoiseGit-LanguagePack-2.4.0.0-64bit-zh_CN,依次安装。 # 配置本地Git的用户名与邮箱 git c…...
【日常记录】现在遇到的Y7000P亮度无法调节问题,无需改动注册表进行调整的方法。
1、winR 2、输入:services.msc 3、找到下面红框内的服务 4、右键后,点击重启任务,重启任务后,再次按热键即可恢复亮度调节。...
ubuntu20.04.6 触摸屏一体机,外接视频流盒子开机输入登录密码触屏失灵问题解决方法
1. 首先直接运行xrandr命令,查看设备的相关信息: 运行之后会显示当前连接设备的屏幕信息,如下图,LVDS和VGA-0,而HDMI屏幕为disconnect,意为没有连接: 2. 设置开机主屏幕显示: xrand…...
师生健康信息管理:SpringBoot技术指南
第3章 系统分析 3.1 需求分析 师生健康信息管理系统主要是为了提高工作人员的工作效率和更方便快捷的满足用户,更好存储所有数据信息及快速方便的检索功能,对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑用户的可操作性,…...
手机/平板端 Wallpaper 动态壁纸文件获取及白嫖使用指南
Wallpaper 动态壁纸文件获取及使用指南 目录 壁纸文件获取手机 / 平板使用手机 / 平板效果预览注意事项PC/Mac 使用 1. 壁纸文件获取链接 链接:夸克网盘分享 复制链接到浏览器打开并转存下载即可。 (主页往期视频的 4K 原图和 mpkg 动态壁纸文件…...
【软件工程】模块化思想概述
一、定义 模块化(modularization),也称为模组化,是产品设计以及项目管理中被广泛使用的一种设计理念。 模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,有多种属性,分别反映其内部…...
解决方案:机器学习中,出现欠拟合和过拟合,这两种情况分别如何解决
文章目录 一、现象二、解决方案欠拟合(Underfitting)过拟合(Overfitting) 一、现象 在工作中,在机器学习中,出现欠拟合和过拟合的时候,需要有对应的解决方法,所以整理一下 二、解决…...
腾讯 25 届秋招算法工程师面经
最近已有不少大厂都在秋招宣讲了,也有一些在 Offer 发放阶段。 节前,我们邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学。 针对新手如何入门算法岗、该如何准备面试攻略、面试常考点、大模型技术趋势、算法项目落地经验分享等热门话题进行了…...
MySQL 实验1:Windows 环境下 MySQL5.5 安装与配置
MySQL 实验1:Windows 环境下 MySQL5.5 安装与配置 目录 MySQL 实验1:Windows 环境下 MySQL5.5 安装与配置一、MySQL 软件的下载二、安装 MySQL三、配置 MySQL1、配置环境变量2、安装并启动 MySQL 服务3、设置 MySQL 字符集4、为 root 用户设置登录密码 一…...
开源黑科技!Fish Speech TTS模型完美支持8种语言
开源黑科技!Fish Speech TTS模型完美支持8种语言 Fish Speech是一款神奇的AI语音克隆工具🎤,可快速模仿用户声音,支持八种语言🌍,简单易用,适合所有人👶。它在客服、新闻播报和在线…...
算法知识点————数论和链表
1、n数和 2数和 有序(递增):头尾相加,和目标值比较无序:哈希表(target - cur) 多数和: 先排序 拿一个数(检测 i 和i-1 重复的不选择) 2数和问题 &am…...
NASA:ATLAS/ICESat-2 L3B 每日和每月网格极地海面高度异常 V003
目录 简介 摘要 代码 引用 网址推荐 0代码在线构建地图应用 机器学习 ATLAS/ICESat-2 L3B Daily and Monthly Gridded Polar Sea Surface Height Anomaly V003 ATLAS/ICESat-2 L3B 每日和每月网格极地海面高度异常 V003 简介 ATLAS/ICESat-2 L3B Daily and Monthly G…...
Java类设计模式
1、单例模式 核心:保证一个类只有一个对象,并且提供一个访问该实例的全局访问点 五种单例模式:主要:饿汉式:线程安全,调用效率高,不能延时加载懒汉式:线程安全,调用效率…...
Valhalla实现 使用Docker部署利用OSM(Mapbox)地图实现路径规划详细步骤
一. Valhalla基本概念 1. 背景介绍: 官网介绍文档:https://valhalla.github.io/valhalla/ Valhalla是一个开源的路由引擎,能够实现实时路径规划,处理大量请求返回最优路径。 基于 OSM 数据,结合灵活的多模式交通方式…...
blender解决缩放到某个距离就不能继续缩放
threejs中也存在同样的问题,原因相同,都是因为相机位置和相机观察点距离太近导致的。 threejs解决缩放到某个距离就不能继续缩放-CSDN博客 blender中的解决方案 1、视图中心->视图锁定->选择你想看的物体...
2022浙江省赛G I M
G - Easy Glide 题意 思路 由于数据范围比较小(1e3),把所有的移动的时间转化为图论上的边权就可以了,再用dijkstra解决,注意如果用的是邻接表存的话要建双向边 代码 #include <map> #include <set> #include <queue> #include <…...
数据链路层 ——MAC
目录 MAC帧协议 mac地址 以太网帧格式 ARP协议 ARP报文格式编辑 RARP 其他的网络服务或者协议 DNS ICMP协议 ping traceroute NAT技术 代理服务器 网络层负责规划转发路线,而链路层负责在网络节点之间的转发,也就是"一跳"的具体传输…...
在java中都是如何实现这些锁的?或者说都有哪些具体的结构实现
在Java中,多种锁机制的实现依赖于不同的类和接口。以下是一些常见的锁机制及其在Java中的具体实现: 1. 互斥锁(Mutex) 实现方式:Java中的互斥锁可以通过synchronized关键字或ReentrantLock类来实现。synchronized关键…...
用CSS创造三角形案例
6.3.2 用CSS创造三角形 用div来创建,角上是平分的,所以要是内部宽高为0,其他边透明,正好是三角形。 代码 div {border: 12px solid;width: 0;height: 0;border-color: transparent red transparent transparent; } 与伪元素aft…...
matlab-对比两张图片的Ycbcr分量的差值并形成直方图
%对比两张图片的Ycbcr分量的差值并形成直方图,改个路径就能用,图片分辨率要一致 close all; clear all; clc; I1imread(E:\test\resources\image\1.jpg); I2imread(E:\test\resources\image\2.jpg); ycbcr1 rgb2ycbcr(I1); ycbcr2 rgb2ycbcr(I2); % …...
Chromium 使用安全 DNS功能源码分析c++
一、选项页安全dns选项如下图: 二、那么如何自定义安全dns功能呢? 1、先看前端部分代码调用 shared.rollup.jsclass PrivacyPageBrowserProxyImpl {.................................................................getSecureDnsResolverList() {re…...
10.1 刷题
C语言 C...
车辆重识别(2021ICML改进的去噪扩散概率模型)论文阅读2024/9/29
所谓改进的去噪扩散概率模型主要改进在哪些方面: ①对数似然值的改进 通过对噪声的那个方差和T进行调参,来实现改进。 ②学习 这个参数也就是后验概率的方差。通过数据分析,发现在T非常大的情况下对样本质量几乎没有影响,也就是说…...
828华为云征文|针对Flexus X实例云服务器的CPU和内存性能测评
目录 一、Flexus X实例云服务器简介 1.1 产品摘要 1.2 产品优势 1.3 本次测评服务器规格 二、CPU性能测试 2.1 操作说明 2.2 操作步骤 2.2 结果分析 三、测试内存负载 3.1 操作说明 3.2 操作步骤 3.3 结果分析 四、测试终评 一、Flexus X实例云服务器简介 1.1 产品…...
Python知识点:如何使用Google Cloud IoT与Python进行边缘计算
开篇,先说一个好消息,截止到2025年1月1日前,翻到文末找到我,赠送定制版的开题报告和任务书,先到先得!过期不候! 如何使用Google Cloud IoT与Python进行边缘计算 边缘计算作为一种新兴的计算模式…...
wordpress隐私提示/企业推广宣传方式
在使用MyBatis插入数据进入数据库的时候会用到sequence序列来生成自增的id 这时可以使用selectKey就可以得到sequence的值,同时也会将值返回。不过对于不同的数据库有不同的操作方式。 oracle: < insert id“insertTeacher” parameterClass“map”&g…...
网站建设关键词/seo网站管理招聘
rt转载于:https://www.cnblogs.com/speedoops/archive/2010/12/14/1906155.html...
响应式网站排名/网络网站推广选择乐云seo
1、C工程的组成c程序是由一个或者多个.c文件和.h文件组成的。其中 .c文件是c源代码文件,是程序具体实现的部分。.h文件时C的头文件,用来声明.c文件中函数的。也可以申明自定义的数据。如下图,我定义了一个宏:#define kAD_MAX_DIM …...
网站自助建设推广/网店推广方案策划书
基于H5的App在IOS App Store的打包发布流程0、说明1、ios证书配置(1)创建CSR文件(2)申请开发者证书(3)申请推送证书(4)申请provisioning profile2、打包(1)We…...
哪些做图形推理的网站/必应bing国内版
一、安装方法:rpm工具、yum工具、源码包 1、rpm工具:由redhat公司开发; yum工具:是由Python开发的;源码包:由C语言开发,C语言是Linux上最标准的程序语言。 二、rpm工具的使用1、在虚拟机上挂载一…...
长沙外贸网站建设/图片搜索
如今,蓝牙已成为移动设备不可或缺的一部分,智能手机与智能手表和无线耳机互连。默认情况下,大多数设备都配置为接受来自附近任何未经身份验证的设备的蓝牙连接,蓝牙数据包由蓝牙芯片(也称为控制器)处理,然后传递到主机…...