当前位置: 首页 > news >正文

云原生--核心组件-容器篇-2-认识下Docker(三大核心之镜像,容器,仓库)

1、Docker基本概念

(1)、定义

Docker是一种开源的应用容器引擎,是基于操作系统级虚拟化技术。允许开发者将应用程序及其依赖项打包到一个可移植的容器中,然后发布到任何支持Docker的环境中运行。Docker容器是轻量级、独立且可执行的软件包,包含了运行所需的一切:代码、运行时、系统工具、系统库和设置。

(2)、核心目标

解决开发、测试、生产环境不一致的问题,实现“一次构建,随处运行”(Build Once, Run Anywhere)。

(3)、主要功能

  • 环境一致性:确保应用在不同环境中(开发、测试、生产)的行为一致。
  • 资源隔离:通过容器隔离不同应用,避免依赖冲突。
  • 快速部署:容器启动时间短(秒级),资源占用低。

(4)、主要特点

  1. 标准化:通过使用统一的标准来打包应用,确保应用可以在任何地方以相同的方式运行。
  2. 轻量化:由于容器共享宿主机的操作系统内核,相比虚拟机更加轻量,启动速度更快,资源消耗更少。
  3. 隔离性:每个容器都是相互隔离的,拥有自己的文件系统、网络接口等,提供了一定程度的安全性和稳定性。
  4. 版本控制:类似Git的工作流,可以对容器镜像进行版本控制,方便追踪变化、回滚到旧版本等。

2、Docker核心组件

(1)、镜像(Image)

  • 定义:只读的模板,包含运行应用程序所需的代码、依赖、库、配置文件等所有内容。例如,一个 Python Web 应用的镜像会包含 Python 解释器、应用代码以及所需的 Python 库。
  • 作用:用于创建容器。
  • 获取方式:
    • 从Docker Hub(公共仓库)或私有仓库拉取现成镜像(如docker pull ubuntu)。
    • 通过Dockerfile自定义构建镜像:
      示例 Dockerfile:
FROM python:3.9-slim
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
CMD ["python", "app.py"]

解释:
构建镜像的文本文件,包含一系列指令(如 FROM, RUN, COPY)。自动化镜像构建过程,确保可重复性和一致性。

(2)、容器(Container)

  • 定义:镜像的运行实例,是动态的、可写入的沙箱环境。容器是一个独立的、隔离的环境,运行着应用程序。容器之间相互隔离,每个容器都有自己的文件系统、进程空间等。可以通过启动、停止、删除容器来管理应用程序的运行状态。对同一个应用的镜像,可以创建多个容器来运行多个实例,每个容器都是独立互相隔离运行的实例。。
  • 特性:
    • 轻量级:共享宿主机内核,仅隔离用户空间。
    • 独立性:容器间资源隔离(CPU、内存、文件系统等)。
    • 短暂性:容器停止后可删除,但数据可能丢失(需持久化存储)。
  • 操作命令:
    • 运行容器:docker run -it ubuntu bash
    • 查看容器:docker ps
    • 停止容器:docker stop <容器ID>

(3)、仓库(Repository)

  • 定义:存储和分发镜像的仓库,分为公共(如 Docker Hub)和私有(如企业内部仓库)。
    类似于代码仓库,它允许用户上传和下载镜像。公共仓库包含了大量的官方和社区提供的镜像,用户可以直接使用;同时,也可以搭建私有仓库来存储企业内部的镜像。
  • 常用操作:
    • 拉取镜像:docker pull <仓库地址>/<镜像名>:标签
    • 推送镜像:docker push <仓库地址>/<镜像名>:标签

3、Docker工作原理

(1)、组成原理

Docker是基于客户端/服务器(C/S)架构,主要组件包括Docker客户端(Docker Client)、Docker守护进程(Docker Daemon)和Docker注册表(Docker Registry)。

  • Docker客户端:是用户与Docker进行交互的接口,用户通过命令行工具(如docker run、docker build等)向Docker守护进程发送请求。
  • Docker守护进程:在后台运行,负责处理客户端的请求,如创建、运行、停止容器,构建和管理镜像等。它与底层的操作系统进行交互,利用Linux的内核特性(如命名空间和控制组)来实现容器的隔离和资源管理。
  • Docker注册表:用于存储和管理Docker镜像。当用户需要下载或上传镜像时,Docker客户端会与注册表进行通信。

(2)、虚拟化技术

  • 与虚拟机的区别:
    在这里插入图片描述
  • 关键技术:
    • 命名空间(Namespaces):实现进程、网络、文件系统等隔离(如UTS, PID, NET)。
    • 控制组(cgroups):限制和监控容器资源(CPU、内存、磁盘等)。

(3)、容器存储

  • 数据持久化方案:
    • 卷(Volume):独立于容器的持久化存储,由Docker管理(如docker volume create myvol)。
    • 绑定挂载(Bind Mount):将宿主机目录挂载到容器内(如 -v /host/path:/container/path)。
    • 容器层(Writable Layer):容器启动时添加的可写层,容器删除后数据丢失。

4、工作流程

  • 编写 Dockerfile:定义如何构建镜像的文本文件,包括基础镜像、安装的软件包、复制的文件等内容。
  • 构建镜像:通过docker build命令根据Dockerfile构建镜像。
  • 运行容器:使用docker run启动容器,指定所需的参数如端口映射、卷挂载等。
  • 管理容器:通过一系列命令如docker ps, docker stop, docker rm等来查看、停止或删除容器。

5、Docker安装与基础使用

(1)、安装步骤(以Ubuntu为例)

bash示例:

# 更新包列表
sudo apt-get update# 安装 Docker Engine
sudo apt-get install -y docker.io# 启动 Docker 服务
sudo systemctl start docker# 设置开机自启
sudo systemctl enable docker# 验证安装(输出版本信息)
docker --version

(2)、常用命令示例

bash示例:

# 拉取镜像:
docker pull nginx:latest# 查看本地镜像列表
docker images# 运行容器:
docker run -d -p 80:80 --name my-nginx nginx:latest   # 映射宿主机80端口到容器80端口# 查看运行中的容器:
docker ps# 停止容器:
docker stop my-nginx# 构建一个自定义镜像 (假设当前目录下有一个Dockerfile)
docker build -t myapp:1.0 .# 推送镜像到 Docker Hub
docker push myapp:1.0

6、Docker的优势与适用场景

(1)、优势

  1. 轻量高效:

    • 资源占用低,启动快,适合大规模部署。与传统的虚拟机相比,Docker容器共享宿主机的内核,不需要额外的操作系统开销,因此启动速度快、占用资源少,能够在相同的硬件资源上运行更多的应用实例。
  2. 环境一致性:

    • 通过将应用及其依赖打包成镜像,Docker确保了应用在不同环境(开发、测试、生产)中的一致性,避免了“在我的机器上能运行,在你的机器上不行”的问题。
  3. 快速交付:

    • 通过镜像快速部署应用,缩短开发到生产的时间。
  4. 微服务支持:

    • 每个服务独立打包为容器,每个容器都是独立的运行环境,相互之间不会产生干扰,提高了应用的安全性和稳定性。便于解耦和扩展。
  5. 生态丰富:

    • Docker Compose(多容器编排)、Docker Swarm(集群管理)、Docker Hub(镜像仓库)等工具完善。

(2)、适用场景

  1. 开发测试:开发人员可以使用Docker快速搭建一致的开发环境,避免因环境差异导致的问题。不同的项目可以使用不同的Docker容器,互不影响。

  2. 持续集成/持续交付(CI/CD):Docker可以将应用打包成镜像,通过镜像自动化部署。方便在不同的阶段进行部署和测试。例如,每次代码提交后,自动构建Docker镜像并进行测试,然后部署到生产环境。

  3. 微服务架构:Docker容器非常适合微服务架构,每个微服务可以打包成独立的容器,实现独立开发、部署和扩展。通过容器编排工具(如Kubernetes),可以方便地管理大量的微服务容器。

  4. 多环境一致性:确保应用在开发、测试和生产环境的一致性,减少“这段代码在我的机器上能跑”的问题。

  5. 云原生应用:与Kubernetes结合,实现容器编排和弹性伸缩。云原生应用强调容器化、微服务和自动化,Docker作为容器化技术的代表,是云原生应用开发的基础工具。

  6. 数据科学:隔离复杂依赖(如Python 环境、深度学习框架)。

7、Docker生态工具

(1)、Docker Compose

  • 作用:定义和运行多容器应用,通过docker-compose.yml文件管理。
    yaml示例:
  version: '3'services:web:image: nginx:latestports:- "80:80"db:image: mysql:5.7environment:MYSQL_ROOT_PASSWORD: example

bash示例:

docker-compose up     # 启动所有服务
docker-compose down    # 停止并删除服务

(2)、Docker Hub

  • 功能:
    • 存储和共享镜像(如官方镜像、社区镜像)。
    • 自动构建镜像(与GitHub/GitLab集成)。
      bash示例:
  docker login   # 登录 Docker Hubdocker push jeffmaury/myapp:1.0   # 推送镜像到仓库

(3)、Docker Swarm

  • 作用:轻量级容器集群管理工具,实现多节点容器编排。
  • 对比Kubernetes:
    • Swarm:简单易用,适合中小规模集群。
    • Kubernetes:功能更强大,适合复杂场景。

8、Docker的局限性

(1)、不支持32位系统:仅支持64位Linux/Windows/macOS。
(2)、存储问题:

  • 容器默认数据不持久化,需依赖卷或绑定挂载。
  • 跨主机数据共享需额外工具(如分布式存储)。
    (3)、安全性:
  • 容器共享宿主机内核,存在潜在安全风险(需严格权限控制)。
    (4)、复杂应用管理:
  • 大规模集群需结合 Kubernetes 等工具。

9、使用示例

(1)、检查Docker环境

bash示例:

systemctl status docker   # 检查服务状态
docker --version        # 查看版本
docker compose version    # 确保Compose版本 ≥ 2.0

(2)、拉取镜像

bash示例:

docker pull registry.cn-hangzhou.aliyuncs.com/jeson/homebox:latest

(3)、创建并运行容器

bash示例:

docker run -d -p 8080:80 --name homebox registry.cn-hangzhou.aliyuncs.com/jeson/homebox:latest

(4)、访问应用

访问 http://<宿主机IP>:8080,正常访问系统。

10、总结

  • Docker是容器化技术的基石,通过轻量级虚拟化实现应用的快速部署、隔离和扩展。
  • 核心价值:标准化开发环境、提升资源利用率、简化运维流程。
  • 未来趋势:与云原生技术(如Kubernetes)深度整合,推动边缘计算、Serverless等场景发展。

Docker不仅改变了应用的打包和部署方式,也促进了DevOps文化的发展,使得开发者和运维人员之间的协作更加紧密。随着云原生技术的发展,Docker与其他技术如Kubernetes的结合使用,已经成为现代应用开发不可或缺的一部分。

逆风前行,Dare To Be!!!

相关文章:

云原生--核心组件-容器篇-2-认识下Docker(三大核心之镜像,容器,仓库)

1、Docker基本概念 &#xff08;1&#xff09;、定义 Docker是一种开源的应用容器引擎&#xff0c;是基于操作系统级虚拟化技术。允许开发者将应用程序及其依赖项打包到一个可移植的容器中&#xff0c;然后发布到任何支持Docker的环境中运行。Docker容器是轻量级、独立且可执…...

智慧园区IOT项目与AI时代下的机遇 - Java架构师面试实战

在互联网大厂的Java求职者面试中&#xff0c;面试官通常会针对实际业务场景提出一系列问题。以下是关于智慧园区IOT项目及AI时代下的机遇的面试模拟对话。 第一轮提问 面试官&#xff1a;马架构&#xff0c;请简要介绍下智慧园区IOT项目的整体架构设计。 马架构&#xff1a;…...

Unity中文件上传以及下载,获取下载文件大小的解决方案

首先现在Unity插件那么的广泛的情况下,很多东西都不需要自己实现,直接使用第三方插件就可以了,但为什么这里需要自己写,接下来说明原因。 在Unity商城中有很多关于关于网络接口调用的插件,其中有一款叫BestHTTP这款使用比较广泛的插件,不知道朋友们是不是都知道,是不是…...

Word/WPS 删除最后一页空白页,且保持前面布局样式不变

如题&#xff0c;试了多种方法&#xff0c;都不行。主要是可能的原因太多了&#xff0c;没有通解&#xff0c;这只是适用于我的情况。 解决方案&#xff1a; 首先光标放在倒数第二页&#xff08;即想保留的最后一页&#xff09;&#xff0c;点击页面右下角这个小箭头&#xff…...

MySQL长事务的隐患:深入剖析与解决方案

MySQL长事务的隐患&#xff1a;深入剖析与解决方案 一、什么是长事务&#xff1f; 在数据库系统中&#xff0c;长事务(Long Transaction)通常指执行时间超过预期或系统设定阈值的事务。对于MySQL而言&#xff0c;虽然没有严格的时间定义&#xff0c;但一般认为执行时间超过数…...

【Tauri】桌面程序exe开发 - Tauri+Vue开发Windows应用 - 比Electron更轻量!8MB!

效果图 Tauri的二进制文件体积显著小于Electron&#xff0c;安装包通常缩小80%以上。应用启动更快&#xff0c;内存占用更低&#xff0c;尤其在老旧设备上体验更流畅。 写在前面 Tauri官网 https://tauri.app/zh-cn/支持语言&#xff1a;js、ts、rust、.net编译出来的exe文件&…...

2025春季NC:3.1TheTrapeziumRule

3.1TheTrapeziumRule 📐 The Idea Instead of finding the exact area under a curve y = f ( x ) y = f(x) y=...

【摩尔定律】

一、摩尔定律的核心定义​​ ​​原始表述&#xff08;1965年&#xff09;​​ “集成电路上可容纳的晶体管数量&#xff0c;每隔约 ​​18-24个月​​ 便会增加一倍&#xff0c;同时性能提升一倍&#xff0c;而成本下降一半。” ​​简化理解​​ 芯片的 ​​晶体管密度​​ 和…...

Maven 依赖冲突调解与版本控制

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…...

《Python Web部署应知应会》Flask网站隐藏或改变浏览器URL:从Nginx反向代理到URL重写技术

Flask网站隐藏或改变浏览器显示URL地址的实现方案&#xff1a;从Nginx反向代理到URL重写技术 引言 在Web应用开发中&#xff0c;URL路径的安全性往往被忽视&#xff0c;这可能导致网站结构和后端逻辑被攻击者轻易推断。对于Flask框架开发的网站&#xff0c;如何隐藏或改变浏览…...

6.2 内容生成与营销:个性化内容创作与营销策略优化

随着消费者对个性化体验的需求日益增长&#xff0c;传统的内容创作与营销方式已难以满足市场竞争的需要。基于大语言模型&#xff08;LLM&#xff09;与智能代理&#xff08;Agent&#xff09;的技术为企业提供了全新的解决方案&#xff0c;能够实现高效、精准、规模化的内容生…...

平面连杆机构(上)

1、平面四杆机构的类型与演化 1&#xff09;平面四杆机构的类型 a、铰链四杆机构&#xff1a;曲柄摇杆机构、双曲柄机构、双摇杆机构 b、其他四杆机构&#xff1a;曲柄滑块机构、导杆机构、滑块机构、双滑块机构、偏心轮四杆机构...... 2&#xff09;平面四杆机构的演化 a、…...

【数据结构刷题】顺序表与ArrayList

【数据结构刷题】顺序表与ArrayList 1. 杨辉三角2. 合并两个有序数组 1. 杨辉三角 LC链接&#xff1a;杨辉三角 //杨辉三角import java.util.ArrayList; import java.util.List;public class Demo1 {public List<List<Integer>> generate(int numRows) {List<…...

顶点着色器和片元着色器染色+表面体着色器染色

顶点/片元着色器染色 创建材质球及Shader同名文件VFColor //Update NOTE&#xff1a;replaced mul(UNITY_MATRIX_MVP,*) with UnityObjectToClipPos(*) Shader "CreateTest/VFColor" {Properties{_Color("颜色",Color)(1,1,1,1)}SubShader{Pass{//顶点片…...

240426 leetcode exercises

240426 leetcode exercises jarringslee 文章目录 240426 leetcode exercises[1669. 合并两个链表](https://leetcode.cn/problems/merge-in-between-linked-lists/?envTypeproblem-list-v2&envIdlinked-list)&#x1f501;基础版 保存断点&#xff0c;先拼再补&#x1f…...

代码随想录算法训练营Day35

卡码网46.携带研究材料 力扣494.目标和【meidum】 力扣416.分割等和子集【medium】 一、卡码网46.携带研究材料 题目链接&#xff1a;卡码网46.携带研究材料 视频链接&#xff1a;代码随想录 题解链接&#xff1a;代码随想录 1、思路 dp[i][j] 表示从下标为 [0-i] 的物品里任意…...

C++17 折叠表达式

C17 引入的折叠表达式&#xff08;Fold Expressions&#xff09; 是处理可变参数模板&#xff08;Variadic Templates&#xff09;的革命性特性。它通过简洁的语法&#xff0c;使得对参数包&#xff08;Parameter Pack&#xff09;的操作更加直观和高效&#xff0c;避免了传统的…...

Ubuntu编译opencv源码

准备 Ubuntu版本&#xff1a;22.04opencv版本&#xff1a;4.9.0没下载Ubuntu镜像的可以在清华镜像下载 本文以4.9.0版本演示&#xff0c;可根据自身情况选择 安装JDK和依赖项 本次编译主要为了获取java在linux环境下的动态库&#xff0c;所以需要在虚拟机上下载jdk # 安装…...

一种滑窗像素自差值的深度学习损失函数

公司项目&#xff0c;已申请专利。 深度学习作为新兴技术在图像领域蓬勃发展&#xff0c;因其自主学习图像数据特征避免了人工设计算法的繁琐&#xff0c;精准的检测性能、高效的检测效率以及对各种不同类型的图像任务都有比较好的泛化性能&#xff0c;使得深度学习技术在图像领…...

【Typecho】给Joe主题后台添加custom自定义功能!

大家好&#xff0c;今天来添加一下自定义功能&#xff01; &#x1f602; 温馨提示&#xff1a;站长已经通过本地环境测试custom自定义功能&#xff0c;功能正常可以使用&#xff0c;按照我的操作来一定成功&#xff01; 大纲 创建custom.php粘贴代码到custom.php文件引入cus…...

一些常见的资源池管理、分布式管理和负载均衡的监控工具

资源池管理监控工具 Prometheus 是一款开源的系统监控和警报工具。它可以通过收集各种指标数据,如CPU使用率、内存使用量、磁盘I/O等,来监控资源池中的服务器、容器等资源。Prometheus具有强大的查询语言和可视化功能,能够帮助管理员快速了解资源的使用情况,并及时发现潜在…...

WPF程序使用Sugar操作数据库

WPF 程序使用 Sugar ORM 操作数据库 一、引言 在 WPF(Windows Presentation Foundation)应用程序中,数据库操作是不可或缺的一部分。Sugar ORM(对象关系映射)是一种轻量级的 ORM 框架,它简化了数据库操作,使得开发者能够以面向对象的方式与数据库进行交互。本文将详细…...

【Castle-X机器人】四、智能机械臂安装与调试

持续更新。。。。。。。。。。。。。。。 【Castle-X机器人】智能机械臂安装与调试 四、智能机械臂安装与调试2.1 安装2.2 调试2.2.1 2D摄像头测试 四、智能机械臂安装与调试 2.1 安装 使用相应工具将机械臂固定在Castle-X机器人底盘 2.2 调试 2.2.1 2D摄像头测试 内容地址 链…...

goweb-signup注册功能实现

注册功能 route.go package routerimport ("bluebell/controller""github.com/gin-gonic/gin" )func SetupRouter(mode string) *gin.Engine {r : gin.Default()r.POST("/signup", controller.SignupHandler)return r }UserController.go pac…...

Linux: 如何在VMware上安装Ubuntu操作系统

在VMware上安装Ubuntu操作系统是一个相对简单的过程&#xff0c;以下是详细的步骤&#xff1a; 一、准备工作 安装VMware软件 确保你已经在电脑上安装了VMware Workstation&#xff08;适用于Windows&#xff09;或VMware Fusion&#xff08;适用于Mac&#xff09;。如果没有安…...

详解 Network.framework:iOS 网络开发的新基石

详解 Network.framework&#xff1a;iOS 网络开发的新基石 引言 自 iOS 12 和 macOS 10.14 起&#xff0c;Apple 推出了一个新的网络开发框架 —— Network.framework。它被定位为下一代网络连接的基础设施&#xff0c;让开发者可以以更安全、更高效的方式&#xff0c;管理 T…...

Java—— 五道算法水题

第一题 需求&#xff1a; 包装类&#xff1a;键盘录入一些1~100之间的整数&#xff0c;并添加到集合中。直到集合中所有数据和超过200为止 代码实现&#xff1a; import java.util.ArrayList; import java.util.Scanner;public class Test1 {public static void main(String[]…...

将服务器接到路由器上访问

应用场景: 实验室网卡更换了,新网卡没有报备到校园网,暂时无法通过外部链接连到服务器. 除了跳板机之外,可以使用以下方法将服务器接入到路由器访问. 将服务器接到交换机上&#xff0c;将交换机接到路由器上本地电脑 连接路由器wifi登录http://192.168.0.1/&#xff0c;访问路…...

MyBatis缓存配置的完整示例,包含一级缓存、二级缓存、自定义缓存策略等核心场景,并附详细注释和总结表格

以下是MyBatis缓存配置的完整示例&#xff0c;包含一级缓存、二级缓存、自定义缓存策略等核心场景&#xff0c;并附详细注释和总结表格&#xff1a; 1. 一级缓存&#xff08;默认开启&#xff09; // 使用同一SqlSession执行两次查询&#xff0c;自动命中一级缓存 try (SqlSe…...

我爱学算法之—— 二分查找(上)

了解二分算法 二分查找&#xff0c;想必多多少少有一点了解了&#xff0c;我们了解的二分查找算法&#xff1a; 当一个数组有序的时候&#xff0c;我们可以使用二分算法来查找一个值&#xff1b; 直接比较mid((left right)/2)和我们要查找的值target&#xff1b;如果nums[mid]…...

Tauri快速入门1 - 搭设开发环境

前言 Tauri框架结合了 Web 技术的优势&#xff0c;开发者能用熟悉的 HTML、CSS 和 JavaScript 进行开发&#xff0c;像开发网页应用一样便捷高效。 其次&#xff0c;该框架有着出色的性能表现&#xff0c;相比一些传统框架&#xff0c;其资源占用相对较低。在安全性方面&#x…...

tigase源码学习杂记-IO处理的线程模型

前言 tigase是一个高性能的服务器&#xff0c;其实个人认为作为即时通讯的服务器&#xff0c;高性能主要体现在他对IO复用&#xff0c;和多线程的使用上&#xff0c;今天来学习一下他的IO的线程处理模型的源码&#xff0c;并记录一下他优秀的设计。 概述 tigase是使用的NIO作…...

电商秒杀系统技术栈与难点解析 - Java架构师面试实战

电商秒杀系统技术栈与难点解析 - Java架构师面试实战 第一轮提问 面试官&#xff1a;马架构&#xff0c;欢迎参加我们公司的面试。首先&#xff0c;请您简单介绍一下自己。 马架构&#xff1a;您好&#xff0c;我叫马架构&#xff0c;拥有十年的Java研发经验和架构设计经验&…...

ASP.NET MVC​ 入门指南三

16. 安全性 16.1 身份验证和授权 身份验证&#xff1a;确认用户的身份。ASP.NET MVC 支持多种身份验证方式&#xff0c;如表单身份验证、Windows 身份验证和 OAuth 等。 表单身份验证&#xff1a;用户通过输入用户名和密码登录&#xff0c;服务器验证后颁发一个身份验证票证&…...

导览项目KD-Tree最近地点搜索优化

背景描述 我在做一个校园导览的小程序的时候&#xff0c;涉及到最近地点搜索的业务功能&#xff0c;根据当前位置搜索最近的校园地点&#xff0c;比如教学楼&#xff0c;图书馆&#xff0c;自习室&#xff0c;办事地点等等。 我最初想到的办法就是获取用户当前位置的经纬度后&…...

【Pandas】pandas DataFrame rmul

Pandas2.2 DataFrame Binary operator functions 方法描述DataFrame.add(other)用于执行 DataFrame 与另一个对象&#xff08;如 DataFrame、Series 或标量&#xff09;的逐元素加法操作DataFrame.add(other[, axis, level, fill_value])用于执行 DataFrame 与另一个对象&…...

苹果(IOS)手机怎么开启开发者模式(简单明了版)

苹果手机怎么开启开发者模式&#xff08;简单明了版&#xff09; iOS 16 以后&#xff0c;苹果新增了「开发者模式」。如果你要在 iPhone 上运行自己开发的 App&#xff0c;比如通过 Xcode 或其它工具安装测试包&#xff0c;必须先开启这个模式。 下面是开启方法&#x1f447…...

Agent2Agent

rag系列文章目录 文章目录 rag系列文章目录前言一、协议设计原则与技术基础二、通信机制与消息格式三、身份验证与安全设计四、能力发现与任务协作总结 前言 谷歌于2025年4月推出了A2A&#xff08;Agent2Agent&#xff09;协议&#xff0c;旨在解决当前AI智能体生态中的互操作…...

【MCP】了解远程MCP调用背后使用的SSE协议

本文介绍了远程MCP使用的SSE协议&#xff0c;通过wireshark抓包的方式了解MCP客户端和服务端之间通过SSE协议交互涉及到的请求与响应。 1. 什么是SSE协议&#xff1f; 参考&#xff1a;https://zhuanlan.zhihu.com/p/1894024642395619635和https://blog.csdn.net/aerror/artic…...

Log4j Properties 配置项详细说明

Log4j Properties 配置项详细说明 1. 核心配置项说明 根日志记录器&#xff1a;定义全局日志级别和输出目标 log4j.rootLogger [级别], appender1, appender2,...Appender 定义&#xff1a;指定日志输出目标&#xff08;控制台、文件等&#xff09; log4j.appender.[名称].[属…...

哪些物联网框架支持多协议接入?选型指南与核心能力解析

在物联网&#xff08;IoT&#xff09;领域&#xff0c;设备通信协议的多样性&#xff08;如MQTT、CoAP、Modbus、Zigbee等&#xff09;是开发者面临的核心挑战之一。选择支持多协议接入的物联网框架&#xff0c;可以显著降低异构设备连接的复杂度&#xff0c;提升系统的兼容性和…...

第三方测试机构如何保障软件质量并节省企业成本?

在软件行业&#xff0c;第三方测试机构扮演着极其重要的角色。他们提供独立且专业的测试服务&#xff0c;目的是为了保障软件的质量以及提升用户的使用体验。 专业独立 测试机构拥有经验丰富的测试员和严谨的测试流程。他们会对软件各项功能进行细致检验&#xff0c;力求不放…...

Eigen迭代求解器类

1. 迭代求解器核心类概览 Eigen 提供多种迭代法求解稀疏线性方程组 AxbAxb&#xff0c;适用于大规模稀疏矩阵&#xff1a; 求解器类适用矩阵类型算法关键特性ConjugateGradient对称正定&#xff08;SPD&#xff09;共轭梯度法&#xff08;CG&#xff09;高精度&#xff0c;内…...

AI 与高性能计算的深度融合:开启科技新纪元

在当今科技迅猛发展的时代&#xff0c;人工智能&#xff08;AI&#xff09;与高性能计算&#xff08;HPC&#xff09;正以前所未有的态势深度融合&#xff0c;这种融合宛如一场强大的风暴&#xff0c;席卷并重塑着众多领域的格局。从科学研究的突破到商业应用的革新&#xff0c…...

写入cache时数据格式错误产生的ERRO导致整个测试框架无法运行

背景 在yaml文件里面提取request放入缓存时&#xff0c;request是form-data&#xff0c;错用jsonpath提取并写入缓存&#xff0c;导致后面的所有运行都异常 原因 起因是我想引用请求体的Uid&#xff0c;提取方式用错了&#xff0c;所以可以看到最后一段current_request_set_…...

3:QT联合HALCON编程—海康相机SDK二次程序开发

思路&#xff1a; 1.定义带UI界面的主函数类 1.1在主函数中包含其它所有类头文件&#xff0c;进行声明和实例化&#xff1b;使用相机时&#xff0c;是用公共相机的接口在某一个具体函数中去实例化具体的海康相机对象。 1.2设计界面&#xff1a;连接相机&#xff0c;单次采集&a…...

图论---LCA(倍增法)

预处理 O( n logn )&#xff0c;查询O( log n ) #include<bits/stdc.h> using namespace std; typedef pair<int,int> pii; const int N40010,M2*N;//是无向边&#xff0c;边需要见两边int n,m; vector<int> g[N]; //2的幂次范围 0~15 int depth[N],fa[N][1…...

Bento4的安装和简单转码

1.下载Bento4 2解压复制到安装位置 3配置环境变量 在path下配置 5.视频转码为Dash 视频分片化 mp4fragment --track video --fragment-duration 4000 C:\Users\zcc\Downloads\Video\gg.mp4 C:\Users\zcc\Downloads\Video\out3\input_fragmented.mp4分片化的视频转码为dash…...

用python写一个相机选型的简易程序

最近有点忙&#xff0c;上来写的时间不多。 今天就把之前写的一个选型的简易程序&#xff0c;供大家参考。 代码&#xff1a; import sys from PyQt5.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout,QLabel, QLineEdit, QPushButton, QGro…...

论人际关系发展的阶段

朋友关系的建立和发展是一个渐进的过程&#xff0c;通常需要经历情感积累、信任磨合和价值观融合等阶段。以下是朋友关系发展的详细阶段划分及核心特征&#xff1a; 一、表层接触阶段&#xff08;社交试探期&#xff09; 核心特征&#xff1a;以信息交换为主&#xff0c;关系停…...