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

RedHat9 | podman容器

在这里插入图片描述

1、容器技术介绍

传统问题

  • 应用程序和依赖需要一起安装在物理主机或虚拟机上的操作系统
  • 应用程序版本比当前操作系统安装的版本更低或更新
  • 两个应用程序可能需要某一软件的不同版本,彼此版本之间不兼容

解决方式

  • 将应用程序打包并部署为容器
  • 容器是与系统的其他部分隔离的一个或多个进程的集合
  • 容器内容和其他容器内容是隔离的,不会相互影响
  • 容器是打包应用程序以简化和管理的方式

2、容器和虚拟化的对比

虚拟化

  • 可以在单一硬件设备上运行多个操作系统
  • 通过虚拟化软件将硬件拆分成多个虚拟硬件,允许多个操作系统同时运行
  • 需要完整的操作系统来支持应用允许

容器

  • 容器可以在操作系统上直接运行,容器之间共享硬件和操作系统资源
  • 容器中应用现对于虚拟化环境更轻量,运行速度更快速
  • 容器共享操作系统的内核,将容器化的应用程序进程与系统的其余部分隔离开,可以使用与该内核兼容的任何软件
  • 现对于虚拟化使用的硬件资源更少,可以快速启动和关闭,减少存储要求
  • 可以保存容器的多个版本,根据需求快速访问特定版本
  • 容器是临时的,可以将容器运行时产生的数据永久保存在持久存储中
    在这里插入图片描述

3、Rootless和Rootful容器

在容器主机上,可以使用root用户或普通用户运行容器。其中由特权用户运行的容器称为Rootful容器,普通用户运行的容器称为Rootless容器。Rootless容器不允许使用给特权用户所保留的系统资源(访问受限目录、在受端口(1024以下)发布网络服务)。

容器管理工具与开放容器协议(OCI)兼容,意味着我们可以管理所有兼容OCI协议的Linux容器,如Docker

容器管理工具

  • podman:直接管理容器和容器镜像
  • skopep:检查、复制、删除和签名镜像
  • buildah:创建新的容器镜像

4、容器镜像和注册表

运行容器必须使用容器镜像。容器镜像是包含编码步骤的静态文件,充当创建容器的蓝图。容器镜像会打包应用及其所有的依赖项,如系统库、编程语言运行时和库,以及其他配置设置。

镜像容器根据规范构建,遵循开放容器项目OCI镜像格式规范。这些规范定义容器镜像的格式,以及镜像支持的容器主机操作系统和硬件架构的元数据。

容器注册表是用于存储和检索容器镜像的存储库,通过将容器镜像推送或上传到容器注册表中,可以通过注册表中将这些容器镜像拉取或下载到本地系统,用于运行容器。有点类似于dnf。

可以使用第三方镜像的公共注册表,也可以使用私有注册表。需要注意容器镜像的来源,和dnf中的软件包一样,需要清楚容器镜像中的代码是否合规、安全。红帽通过两个主容器注册表来分发认证容器镜像,可以通过RedHat登录凭据来访问这个两个注册表。

红帽官方提供的注册表

  • registry.redhat.io:适用于基于RedHat官方产品的容器
  • registry.connect.redhat.com:适用于基础第三方产品的容器
  • https://access.redhat.com/containers:基于Web的界面

5、红帽Quay镜像仓库

访问红帽中国官网

https://www.redhat.com/zh

在菜单栏中找到【产品】,随后单击【查看所有产品】
在这里插入图片描述

点击左侧【产品A-Z】,然后选择【Quay】
在这里插入图片描述

红帽Quay需要收费
在这里插入图片描述

在红帽提供的学员练习环境中,有一个utility虚拟机,内置Quay,提供了部分的容器镜像。

https://utility/

在这里插入图片描述

账号密码

账号密码
adminredhat321

只提供了几个容器镜像
在这里插入图片描述

6、容器安装与登陆

安装podman容器(建议使用普通用户身份)

sudo dnf -y install container-tools

登陆podman

建议使用交互式登陆,避免遗留密码

# 登陆方式1:交互式
podman login registry.lab.example.com
> admin					# 输入账号
> redhat321				# 输入密码# 登陆方式1:非交互式
podman login registry.lab.example.com -u admin -p redhat321

在这里插入图片描述

查看登陆

podman login --get-login

在这里插入图片描述

登出podman

podman logout registry.lab.example.com

在这里插入图片描述

搜索镜像仓库

podman serach registry.lab.example.com/			# 地址末尾需要加上/,代表访问仓库根目录

在这里插入图片描述

7、规模化容器管理

新应用越来越多的使用容器来实现功能组件,越来越多的容器难于管理。

在实际环境中部署容器需要一个强大的环境

  • 平台必须确保必须服务容器的可靠性
  • 通过增加或减少运行中的容器实例,对流量进行负载均衡,应对应用使用高峰
  • 检测容器或主机的故障,并快速作出反应

Kubernetes(K8s,为什么叫K8s,是因为开头字母为K,结尾字母为s,中间8个字符)是一项编排服务,可以在容器集群中部署、管理和扩展基于容器的应用。通过负载均衡器将流量重定向到容器,以便扩展提供容器的数量。同时支持用户定义的健康性检查,以便监控容器,并在容器出现错误时将其自动重启。

RedHat提供了一个名为OpenShift的Kubernets发行版,是基于Kubernetes基础架构构建的一组模块化组件和服务。提供额外功能包括基于Web的远程管理、多租户、监控和审计、高级安全功能、应用生命周期管理和自助服务实例等。

8、部署容器

podman来自于container-tools元数据包的全功能容器引擎,用于管理开放容器计划(OCI)容器和镜像。podman的运行不使用守护进程,不需要使用root用户来启动或停止容器。

podman常用命令

参数作用
podman login登录
podman logout登出
podman search搜索镜像仓库内文件
podman login --get-login查看登录
–tls-verify不使用https验证
podman images查看当前系统中存在的镜像
podman ps查看系统中存在的容器
podman --version查看容器版本
podman build使用容器文件构建容器镜像
podman run在新容器中运行命令
podman images列出本地存储中的镜像
podman ps打印出有关容器的信息
podman inspect显示容器、镜像、卷、网络或容器基的配置
podman pull从注册表下载镜像
podman cp在容器和主机之间复制
podman exec在运行中的容器内执行命令
podman rm删除一个或多个容器
podman rmi删除1个或多个本地存储镜像

使用registries.conf文件中指定的注册表列表搜索匹配的名称镜像

podman search registry.lab.example.com/

在这里插入图片描述

拉取/下载指定镜像

podman pull registry.lab.example.com/ubi8/python-38

在这里插入图片描述

查看本地镜像

podman images
podman image ls

在这里插入图片描述

9、使用容器文件构建容器镜像

容器文件是一种文本文件,包含用于构建容器镜像的指令。容器文件通常具有定义其文件和目录所在路径的URL上下文。生成的容器镜像由只读层组成,每一层代表容器文件中的一条指令。

podman build构建容器镜像

podman build -t NAME:TAG DIR
  • podman build:构建容器镜像
  • -t NAME:指定生成镜像的名称
  • TAG:新镜像的标签,默认值为latest
  • DIR:工作目录路径

容器文件必须位于工作目录中,如果工作目录是当前目录,可以使用.来指定。可以通过-f指定与当前目录不同的目录。

Containerfile文件是构建镜像的命令参数脚本文件,构建容器镜像的步骤

  • 编写一个Containerfile文件
  • 使用podman build命令构建镜像

编写Containerfile文件,用于构建一个RedHat9并配置了YUM源,同时安装了Python3的镜像

vim Containerfile# 写入下列内容
FROM registry.lab.example.com/ubi9-beta/ubi:latest
RUN echo -e '[BaseOS]\nname=BaseOS\nbaseurl=http://content.example.com/rhel9.0/x86_64/dvd/BaseOS\nenable=1\ngpgcheck=0\n[AppStream]\nname=AppStream\nbaseurl=http://content.example.com/rhel9.0/x86_64/dvd/AppStream\nenable=1\ngpgcheck=0' > /etc/yum.repos.d/dvd.repo
RUN dnf install python3 -y
CMD ["/bin/bash","-c","sleep infinity"]
  • FROM:代表所使用的镜像
  • RUN:在构建镜像时执行的命令,该命令会依次执行(这里是创建一个YUM仓库文件)
  • CMD:构建完镜像后指定的命令,注意CMD指令的语法是使用JSON数组格式(如果使用数组,则值需要使用双引号)
  • sleep infinity:让容器在启动后保持运行状态

在这里插入图片描述

简单查看一下RUN命令的执行效果

echo -e '[BaseOS]\nname=BaseOS\nbaseurl=http://content.example.com/rhel9.0/x86_64/dvd/BaseOS\nenable=1\ngpgcheck=0\n[AppStream]\nname=AppStream\nbaseurl=http://content.example.com/rhel9.0/x86_64/dvd/AppStream\nenable=1\ngpgcheck=0'

在这里插入图片描述

需要先确保已经登陆podman

podman login --get-login

在这里插入图片描述

开始构建容器

podman build -t python3:1.0 .
  • podman build:构建容器镜像
  • -t python3:1.0:-t指定容器镜像的名称(镜像名称不允许大写),1.0为镜像标签(这里用1.0代表版本号)
  • .:指定Containerfile文件的路径,.代表在当前路径下
    在这里插入图片描述

验证本地镜像存储库,可以看到我们刚刚创建的镜像

podman images

在这里插入图片描述

查看镜像的相关信息

podman inspect localhost/python3:1.0			# 用于搜寻本地镜像的信息
skopeo inspect docker://xxxx					# 在网上搜寻镜像信息

在这里插入图片描述

移除本地镜像

podman rmi registry.lab.example.com/ubi8/python-38

在这里插入图片描述

10、创建、运行、删除容器

容器的状态

状态说明
Created已创建好但未启动的容器
Runing与其进程一起运行的容器
Stop其进程停止的容器
Paused其进程已停止的容器,不支持Rootless容器
Deleted其进程已被杀死的容器

列出系统上正在运行的容器

podman ps		# 查看当前正在运行的容器
podman ps -a	# 查看计算机上的所有容器(已创建、停止、状态或在运行的)

创建容器

podman create --name python3-1 localhost/python3:1.0
  • podman create:创建容器
  • –name python3-1:指定容器的名称(容器名称需保持唯一)
  • localhost/python3:1.0:创建容器所使用的容器镜像
  • d4b569c51c440cd091cff994c649734ef6651e22212413e5bed0d900505150c2:返回容器的长ID值

在这里插入图片描述

podman create --name python3-2 7c85859a8381		# 可以使用容器镜像的IMAGE ID

在这里插入图片描述

运行容器

podman start python3-1			# 可以使用名称(可以自动补全)
podman start d4b569c51c44		# 也可以使用CONTAINER ID

在这里插入图片描述

删除容器

podman rm -f d4b569c51c44 		# 删除指定容器
podman rm -rf python3-1			# 删除指定容器
podman rm -f -a 				# 删除所有容器

在这里插入图片描述

创建容器并在后台运行容器

podman run -d --name python3-1 localhost/python3:1.0 sleep infinity
podman run -di --name python3-1 localhost/python3:1.0		# 等同于上面
  • podman run:创建容器并运行容器
  • -d:在后台运行容器,容器的输出不会直接显示在终端上
  • –name python3-1:指定容器的名称
  • localhost/python3:1.0:使用的容器镜像
  • sleep infinity:容器启动后执行的命令:保持容器运行
    在这里插入图片描述

11、创建容器并与容器进行交互

创建一个RedHat7容器,并在终端与容器交互,在退出交互窗口后,容器状态会更改为退出

podman search registry.lab.example.com/					# 搜寻镜像
podman pull registry.lab.example.com/ubi7/ubi			# 拉取镜像
podman images											# 查看本地存储库中的镜像
podman run -ti --name redhat7 registry.lab.example.com/ubi7/ubi:latest		# 保持容器的运行状态,并在终端交互
  • podman run:创建容器并运行容器
  • -t:分配一个伪终端,用于与容器交互
  • -i:等同于sleep infinity,让容器保持运行
  • –name python3-2:指定容器的名称
  • localhost/python3:1.0:使用的容器镜像
    在这里插入图片描述

新开一个终端然后查看运行状态

ssh student@servera
podman ps

在这里插入图片描述

退出与容器的交互

exit

在这里插入图片描述

然后继续查看容器的状态,可以看到容器状态变为退出

podman ps 

在这里插入图片描述

12、创建容器并让容器持续运行

继续使用刚刚拉取的redhat7镜像创建容器

podman run -di --name redhat7-2 registry.lab.example.com/ubi7/ubi:latest
  • -d:在后台运行
  • -i:持续运行

查看容器的状态

podman ps -a

在这里插入图片描述

与容器进行交互,其实就是让容器执行/bin/bash命令,而/bin/bash会启动一个新的Bash shell会话

podman exec -ti redhat7-2 /bin/bash

在这里插入图片描述

退出会话,然后查看容器的状态

exit
podman ps -a

在这里插入图片描述

封装要在容器中执行的命令,可以避免特殊字符被转义

podman exec redhat7-2 sh -c 'echo HELLO > hello.txt;cat hello.txt'
  • sh -c ‘xxx’:封装要在容器中执行的命令

在这里插入图片描述

13、容器中的环境隔离

容器隔离应用环境,每一个容器都有自己的文件系统、网络和进程。

在运行状态的容器中执行命令,可以看到我们容器的版本是Redhat7,而运行容器的系统版本是Redhat9,由此可以看出容器会隔离应用环境。

podman exec redhat7-2 cat /etc/redhat-release

在这里插入图片描述

14、容器中的文件系统隔离

首先在主机上创建一个脚本文件

echo "echo Hello!" > demo.sh

将脚本文件复制到容器中

podman cp demo.sh redhat7-2:/

运行容器中的脚本

podman exec redhat7-2 sh -c "chmod o+x demo.sh;./demo.sh"

在这里插入图片描述

15、删除容器和镜像

在删除容器镜像之前,必须先从该镜像移除任何现有运行的中的容器。

查看当前存在的容器

podman ps -a

在这里插入图片描述

当前存在容器,尝试删除镜像

podman rmi localhost/python3:1.0

在这里插入图片描述

先删除容器

podman rm -f python3-1
podman rm -f python3-2

在这里插入图片描述

再删除镜像

podman rmi localhost/python3

在这里插入图片描述

相关文章:

RedHat9 | podman容器

1、容器技术介绍 传统问题 应用程序和依赖需要一起安装在物理主机或虚拟机上的操作系统应用程序版本比当前操作系统安装的版本更低或更新两个应用程序可能需要某一软件的不同版本,彼此版本之间不兼容 解决方式 将应用程序打包并部署为容器容器是与系统的其他部分…...

边缘计算项目有哪些

边缘计算项目在多个领域得到了广泛的应用,以下是一些典型的边缘计算项目案例: 1. **智能交通系统**:通过在交通信号灯、监控摄像头等设备上部署边缘计算,可以实时分析交通流量,优化交通信号控制,减少拥堵&…...

计算fibonacci数列每一项时所需的递归调用次数

斐波那契数列是一个经典的数列,其中每一项是前两项的和,定义为: [ F(n) F(n-1) F(n-2) ] 其中,( F(0) 0 ) 和 ( F(1) 1 )。 对于计算斐波那契数列的第 ( n ) 项,如果使用简单的递归方法,其时间复杂度是…...

【教学类65-05】20240627秘密花园涂色书(中四班练习)

【教学类65-03】20240622秘密花园涂色书03(通义万相)(A4横版1张,一大 68张纸136份)-CSDN博客 背景需求: 打印以下几款秘密花园样式(每款10份)给中四班孩子玩一下,看看效果 【教学类…...

Python 学习之基础语法(一)

Python的语法基础主要包括以下几个方面,下面将逐一进行分点表示和归纳: 一、基本语法 1. 注释 a. 单行注释:使用#开头,例如# 这是一个单行注释。 b. 多行注释:使用三引号(可以是三个单引号或三个双引号&…...

日志分析-windows系统日志分析

日志分析-windows系统日志分析 使用事件查看器分析Windows系统日志 cmd命令 eventvwr 筛选 清除日志、注销并重新登陆,查看日志情况 Windows7和Windowserver2008R2的主机日志保存在C:\Windows\System32\winevt\Logs文件夹下,Security.evtx即为W…...

【ARM】MDK工程切换高版本的编译器后出现error A1137E报错

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 解决工程从Compiler 5切换到Compiler 6进行编译时出现一些非语法问题上的报错。 2、 问题场景 对于一些使用Compiler 5进行编译的工程,要切换到Compiler 6进行编译的时候,原本无任何报错警告…...

深入 SSH:解锁本地转发、远程转发和动态转发的潜力

文章目录 前言一、解锁内部服务:SSH 本地转发1.1 什么是 SSH 本地转发1.2 本地转发应用场景 二、打开外部访问大门:SSH 远程转发2.1 什么是 SSH 远程转发2.2 远程转发应用场景 三、动态转发:SSH 让你拥有自己的 VPN3.1 什么是 SSH 动态转发3.…...

python如何把一个函数的返回值,当成这个函数的参数值

python如何把一个函数的返回值,当成这个函数的参数值 1. 递归调用 递归是一种函数自己调用自己的方法。在递归调用中,你可以将前一次调用的返回值作为下一次调用的参数。 def recursive_function(x):# 函数逻辑if 条件满足:return 结果else:return rec…...

【融合ChatGPT等AI模型】Python-GEE遥感云大数据分析、管理与可视化及多领域案例应用

随着航空、航天、近地空间遥感平台的持续发展,遥感技术近年来取得显著进步。遥感数据的空间、时间、光谱分辨率及数据量均大幅提升,呈现出大数据特征。这为相关研究带来了新机遇,但同时也带来巨大挑战。传统的工作站和服务器已无法满足大区域…...

SpringBoot: Eureka入门

1. IP列表 公司发展到一定的规模之后,应用拆分是无可避免的。假设我们有2个服务(服务A、服务B),如果服务A要调用服务B,我们能怎么做呢?最简单的方法是让服务A配置服务B的所有节点的IP,在服务A内部做负载均衡调用服务B…...

Typescript 【实用教程】(2024最新版)含类型声明,类型断言,函数,接口,泛型等

简介 TypeScript 是 JavaScript 的超集,是 JavaScript(弱类型语言) 的强类型版本。 拥有类型机制文件后缀 .tsTypescript type ES6TypeScript 和 JavaScript 的关系类似 less 和 css 的关系TypeScript对 JavaScript 添加了一些扩展&#x…...

智慧校园-实训管理系统总体概述

智慧校园实训管理系统,专为满足高等教育与职业教育的特定需求而设计,它代表了实训课程管理领域的一次数字化飞跃。此系统旨在通过革新实训的组织结构、执行流程及评估标准,来增强学生的实践操作技能和教师的授课效率,为社会输送具…...

如何用GPT开发一个基于 GPT 的应用?

原文发自博客:GPT应用开发小记 如何开发一个基于 GPT 的应用?答案就在问题里,那就是用 GPT 来开发基于 GPT 的应用。本文以笔者的一个开源项目 myGPTReader 为例,分享我是如何基于 GPT 去开发这个系统的,这个系统的功能…...

大数据生态体系中各组件的区别面试题(更新)

一、MapReduce与Spark有什么区别? 1、处理方式: MapReduce基于磁盘处理数据,将中间结果保存到磁盘中,减少了内存占用,计算速度慢。 基于内存处理数据,将计算的中间结果保存到内存中,计算速度快。2、资源申请方式&…...

数字信号处理实验一(离散信号及离散系统的MATLAB编程实现)

实验要求: 离散信号及离散系统的MATLAB编程实现(2学时) 要求: 编写一程序,输出一定长度(点数),具有一定幅度、(角)频率和初始相位的实(或复&…...

数字图像处理专栏——introduction

Introduction: 数字图像处理技术是我在深入学习研究的方向之一。本科期间跟随导师做基于AndroidOpenCV的病虫识别app,因此入门,我也对该部分知识有进一步探索的欲望,但更多的是因该脚踏实地一步步记录,一步步成长。 本篇从数字图…...

Django 模版继承

1&#xff0c;设计母版页 Test/templates/6/base.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><!-- 修正了模板标签的全角字符问题 -->{% block title %}<title>这个是母版页</title>{…...

Apipost接口测试工具的原理及应用详解(一)

本系列文章简介&#xff1a; 随着软件行业的快速发展&#xff0c;API&#xff08;应用程序编程接口&#xff09;作为不同软件组件之间通信的桥梁&#xff0c;其重要性日益凸显。API的质量直接关系到软件系统的稳定性、性能和用户体验。因此&#xff0c;对API进行严格的测试成为…...

一款轻量级的通信协议---MQTT (内含Linux环境搭建)

目录 MQTT MQTT的关键特点&#xff1a; 应用场景 Linux环境搭建&#xff1a; 1. 安装mosquitto 2. Linux下客户端进行通信 3. PC端和Linux下进行通信 安装MQTT. fx 4. MQTT.fx的使用 1. 点击连接 ​编辑 2. 连接成功 3. 订阅主题或者给别的主题发送消息 遇到的问…...

记netty本地客户端断线无法自动重连 or 远程客户端自动重连本地服务端

记netty客户端断线无法自动完成重连 or 服务端无法让客户端断线重连 引场景案例bootstrap 引 netty既能开发socket服务端&#xff0c;也可开发客户端&#xff0c;实现连接的全双工通信。在客户端断线重启后&#xff0c;可自动重连服务端。 场景 本地代码既有socket客户端也有…...

UNIAPP_在js文件中使用i18n国际化

导入 import { initVueI18n } from dcloudio/uni-i18n import messages from /locale/index const { t } initVueI18n(messages) 使用 t(config.request.i001)....

第三节:如何理解Spring的两个特性IOC和AOP(自学Spring boot 3.x第一天)

大家好&#xff0c;我是网创有方&#xff0c;接下来教大家如何理解Spring的两个特性IOC和AOP。本节有点难&#xff0c;大家多理解。 IOC&#xff08;控制反转&#xff09; 定义与核心思想&#xff1a; IOC&#xff0c;全称Inversion of Control&#xff0c;即控制反转。 其核…...

【51单片机】串口通信(发送与接收)

文章目录 前言串口通信简介串口通信的原理串口通信的作用串口编程的一些概念仿真图如何使用串口初始化串口串口模式波特率配置 发送与接收发送接收 示例代码 总结 前言 在嵌入式系统的开发中&#xff0c;串口通信是一种常见且重要的通信方式。它以其简单、稳定的特性在各种应用…...

【AI研发工具包】sklearn教程(Scikit-learn)

目录 1. 引言 2. 安装sklearn 3. 导入sklearn 4. 加载数据集 5. 数据预处理 6. 训练模型 7. 评估模型 8. 保存和加载模型 9. 自定义数据 10. 深入sklearn 11. 注意事项 1. 引言 Scikit-learn&#xff08;简称sklearn&#xff09;是Python中一个非常流行的机器学习库…...

数位DP——AcWing 1081. 度的数量

数位DP 定义 数位DP是一种动态规划技巧&#xff0c;特别适用于处理与数字的位操作相关的问题&#xff0c;如数字序列的计数、数字的生成等问题。它通过将问题分解为对每一位数字的独立考虑&#xff0c;从而简化问题复杂度&#xff0c;实现高效求解。 数位DP的核心思想是将原…...

2024下半年必追国漫片单,谁将问鼎巅峰?

随着2024年上半年的落幕&#xff0c;国漫市场再度迎来了百花齐放的盛况。从经典续作到全新IP&#xff0c;从玄幻到科幻&#xff0c;每一部作品都以其独特的魅力吸引着观众的目光。本期为大家盘点下半年值得一看的国漫佳作&#xff0c;大胆预测&#xff0c;谁将成为这场神仙打架…...

信息发布小程序h5 uniapp thinkphp

纯手工uniapp thinkphp 全开源打造 信息发布小程序 一、概述 信息发布小程序是一种基于微信平台的小程序应用&#xff0c;旨在为用户提供便捷的信息发布与展示服务。用户可以通过该小程序快速发布各类信息&#xff0c;如招聘、寻物、公告等&#xff0c;同时也可以浏览和搜索…...

Windows定时任务执行脚本

场景&#xff1a;由于网络波动原因导致云数据库没连接上&#xff0c;从而导致某个流程引擎链接不上数据库从而导致该流程引擎服务挂了&#xff0c;网络恢复后 数据库链接正常&#xff0c;但是该引擎服务还是中止状态。 解决方案&#xff1a;在Windows中新建一个定时任务&#…...

优维“统一开放平台”:开放、开发、集成、客制化

基于丰富完善的产品体系&#xff0c;优维重磅推出了统一开放平台。这款由优维自主设计与研发&#xff0c;集数据开发、能力开放、能力集成、客制化为一体的统一开放平台&#xff0c;具备应用市场、应用开发、连接能力、采控平台、API集市、开发者工具等功能模块&#xff0c;可为…...

ChatGPT新纪元:揭秘GPT-4o的多模态能力

GPT-4o登场 探索ChatGPT的多模态创新 今日凌晨&#xff0c;OpenAI向全球宣布了AI发展的新篇章——GPT-4o&#xff0c;每次OpenAI发布重大更新时&#xff0c;尽管令人兴奋&#xff0c;但也不免使众多初创公司的梦想破灭。 GPT-4o的命名中的“o”象征着“omni”——全能的代表。…...

泰勒斯威夫特2022年纽约大学毕业典礼演讲:NYU‘s 2022 Commencement Speaker Taylor Swift

NYU’s 2022 Commencement Speaker Taylor Swift Link: https://www.youtube.com/watch?vOBG50aoUwlI Singer, songwriter, producer, and director Taylor Swift received a Doctor of Fine Arts, honoris causa, at the Commencement for the Class of 2022 and delivered …...

(四)SvelteKit教程:调用外部 API 获取数据

&#xff08;四&#xff09;SvelteKit教程&#xff1a;调用 API 我们先按照如下的方式来构建api服务&#xff1a; step 1:npm i json-serverstep 2:在根目录下新建 db.json 文件&#xff0c;内部写入如下内容&#xff1a;{"users": [{"id": 1,"name…...

数据结构-分析期末选择题考点(排序)

何似清歌倚桃李 一炉沈水醉红灯 契子 ✨ 上一期给大家提供了大概会考的题型给老铁们复习的大致思路 这一期还会是一样&#xff0c;我将整理一下排序的题型以及解题方法给你们 由于时间还很多&#xff0c;我就慢慢总结吧&#xff0c;一天一章的样子&#xff0c;明天总结串、后天…...

Python:探索高效、智能的指纹识别技术(简单易懂)

目录 概括 导入库 函数一 参数&#xff1a; 函数二 函数三 主函数 运行结果 src&#xff1a; model_base 7.bmp ​编辑 总结 概括 指纹识别是一种基于人体生物特征的身份验证技术。它通过捕捉和分析手指上的独特纹路和细节特征&#xff0c;实现高准确度的身份识别。…...

『SD』AI绘画,不会写提示词怎么办?

提示词 有没有想过&#xff0c;为什么你用 SD 生成的猫是长这样的。 而其他人可以生成这样的猫。 虽然生成的都是猫&#xff0c;但猫与猫之间还是有差距的。 如果你的提示词只是“cat”&#xff0c;那大概率就会出现本文第一张图的那个效果。而如果你加上一些形容词&#xff…...

搭建大型分布式服务(四十二)SpringBoot 无代码侵入实现多Kafka数据源整合插件发布

系列文章目录 文章目录 系列文章目录前言MultiKafkaStarter [V2.2]一、功能特性二、快速开始&#xff08;生产端&#xff09;三、快速开始&#xff08;消费端&#xff09;四、其它特性五、变更记录六、参考文章 前言 在分布式服务的架构演进中&#xff0c;消息队列作为核心组件…...

Python 学习路线及技巧

一、学习路线 1. 基础阶段 ● 学习 Python 的语法基础&#xff0c;如变量、数据类型、运算符、控制流等。 ● 掌握常用的 Python 标准库&#xff0c;如 os、sys、re、datetime 等。 ● 通过编写简单的程序来巩固基础&#xff0c;如计算器、字符串处理等。 2. 进阶阶段 ● 深入…...

计算机网络知识整理笔记

目录 1.对网络协议的分层&#xff1f; 2.TCP/IP和UDP之间的区别&#xff1f; 3.建立TCP连接的三次握手&#xff1f; 4.断开TCP连接的四次挥手&#xff1f; 5.TCP协议如何保证可靠性传输&#xff1f; 6.什么是TCP的拥塞控制&#xff1f; 7.什么是HTTP协议&#xff1f; 8…...

练习 String翻转 注册处理 字符串统计

p493 将字符串中指定部分进行翻转 package chapter;public class reverse {public static void main(String[] args) {String str "abcdef";str reverseMethod(str,0,3);System.out.println(str);}public static String reverseMethod(String str, int start, in…...

linux的常用系统维护命令

1.ps显示某个时间点的程序运行情况 -a &#xff1a;显示所有用户的进程 -u &#xff1a;显示用户名和启动时间 -x &#xff1a;显示 没有控制终端的进程 -e &#xff1a;显示所有进程&#xff0c;包括没有控制终端的进程 -l &#xff1a;长格式显示 -w &#xff1a;宽…...

java:aocache 0.4.0 缓存控制机制

aoocache发布第一个版本0.1.0时&#xff0c;没有考虑到使用aocache的项目对方法缓存的控制需求。 场景 给同事做培训时&#xff0c;同事提到这个需求&#xff0c;他希望能够有方法主动去清理指定方法的缓存&#xff1a; 他的数据是由其他服务启动时提供的&#xff0c;他的方法…...

试析C#编程语言的特点及功能

行步骤&#xff0c;而不必创建新方法。其声明方法是在实例化委托基础上&#xff0c;加一对花括号以代表执行范围&#xff0c;再加一个分号终止语句。 2.3.3 工作原理 C#编译器在“匿名”委托时会自动把执行代码转换成惟一命名类里的惟一命名函数。再对存储代码块的委托进行设…...

Textual Learning2 -- 使用时的小问题

1、出现的问题&#xff1a; 在vscode里面直接运行函数会显示报错&#xff1a; 我尝试在vscode中含textual库的环境下运行&#xff0c;但仍然报错 2、解决方案&#xff1a; 在命令行中运行&#xff1a; 首先按winR&#xff0c;输入cmd打开命令行 或在已经安装的conda环境&a…...

CST--如何在PCB三维模型中自由创建离散端口

在使用CST电磁仿真软件进行PCB的三维建模时&#xff0c;经常会遇到不能自动创建离散端口的问题&#xff0c;原因有很多&#xff0c;比如&#xff1a;缺少元器件封装、开路端口、多端子模型等等&#xff0c;这个时候&#xff0c;很多人会选择手动进行端口创建&#xff0c;但是&a…...

C++中的虚函数表结构框架

一.虚函数表介绍 Virtual Table虚函数表是实现多态的 每个有虚函数的类的实现&#xff0c;都有个指向虚函数的指针表&#xff08;不管是父类还是子类&#xff09; 指向虚表的指针是作为数据成员存在实例对象中 当调用虚函数时&#xff0c;就去查找对象的虚表中指向整顿派生类函…...

【ES】--Elasticsearch的高亮模式

目录 一、高亮策略1、Fast Vector Highlighter(快速向量高亮器)2、Posting Highlighter(帖子高亮器)3、Unified Highlighter(统一高亮器)4、Plain Highlighter(普通高亮器)5、总结二、高亮参数三、高亮案例解析1、words_one配置解析2、words_two配置解析3、words_three…...

使用matlab开发stm32总结,stm32-matlab常见的问题处理以及报错合集

1&#xff0c;问题&#xff1a;本来是好的&#xff0c;突然编译运行报错&#xff0c;说是确少包&#xff0c; 解决方案&#xff1a;重启以后好了 2&#xff0c;有完美的马鞍波&#xff0c;为什么不能够转动呢&#xff1f; 原因是我这里模型的问题&#xff0c;我计算出来的是占…...

落石滑坡监测报警系统:创新保障高速公路安全

​ ​​在现代交通建设中&#xff0c;高速公路的安全性和稳定性至关重要。特别是易发生落石区域&#xff0c;如何有效预防和应对落石滑坡带来的事故成为了一项关键性挑战。为此&#xff0c;落石滑坡监测报警系统应运而生&#xff0c;它通过先进的技术手段&#xff0c;为高速…...

Linux开发讲课20--- QSPI

SPI 是英语 Serial Peripheral interface 的缩写&#xff0c;顾名思义就是串行外围设备接口&#xff0c;一种高速的&#xff0c;全双工&#xff0c;同步的通信总线&#xff0c;并且在芯片的管脚上只占用四根线&#xff0c;节约了芯片的管脚&#xff0c;为 PCB 的布局上节省空间…...

Hive基础知识(十八):Hive 函数的使用

1. 系统内置函数 1&#xff09;查看系统自带的函数 hive (hive3)> show functions; Time taken: 0.085 seconds, Fetched: 289 row(s) 2&#xff09;显示自带的函数的用法 hive (hive3)> desc function upper; OK tab_name upper(str)- Returns str with all characters…...

MathType7.4.4破解版下载支持win版+Mac版

MathType的安装过程非常简单&#xff0c;只需要从官网下载安装文件&#xff0c;然后按照提示进行安装即可。在安装过程中&#xff0c;软件会提示你选择是否安装MathPage插件。如果你经常需要在网页上编辑和发布公式&#xff0c;建议选择安装这个插件。 界面简洁直观 打开MathTy…...

强强联合:Apache Kylin与Impala的集成之道

&#x1f517; 强强联合&#xff1a;Apache Kylin与Impala的集成之道 在大数据时代&#xff0c;Apache Kylin和Impala都是分析型数据库的佼佼者&#xff0c;分别以预计算的OLAP引擎和高性能的SQL on Hadoop解决方案而闻名。将两者集成&#xff0c;可以充分利用Kylin的预计算能…...

鸿蒙开发设备管理:【@ohos.multimodalInput.inputEventClient (注入按键)】

注入按键 InputEventClient模块提供了注入按键能力。 说明&#xff1a; 本模块首批接口从API version 8开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。本模块接口均为系统接口&#xff0c;三方应用不支持调用。 导入模块 import inputEventCli…...

Node.js RESTful API

Node.js RESTful API Node.js,作为一种流行的服务器端JavaScript运行环境,因其轻量级、高效和易于学习的特点,成为了开发RESTful API的优选技术之一。RESTful API是一种广泛使用的Web服务架构风格,它利用HTTP协议的标准方法(如GET、POST、PUT、DELETE)来访问和操作数据。…...

qt qml-http之XMLHttpRequest介绍详解使用

文章目录 QML中的XMLHttpRequest详解与示例基本用法示例代码代码详解更复杂的示例&#xff1a;POST请求代码详解结论 QML中的XMLHttpRequest详解与示例 XMLHttpRequest 是 QML 中用于执行HTTP请求的一种机制&#xff0c;类似于Web中的AJAX。它可以用来进行异步的数据传输&…...

雪铁龙全新SUV上市!车身尺寸升级,内饰全面翻新,好看吗

雪铁龙全新C3 Aircross日前在海外市场正式上市,售价区间为19,400-27,400欧元,目前已开启新车订购工作。同时,新车也有望在后期引入国内市场销售,以进一步丰富雪铁龙在华产品序列,同级别主要竞争对手包含了本田XR-V、领克06、比亚迪元UP等车型。雪铁龙全新C3 Aircross车型车…...

2024年沪台研讨会举行两岸专家共话低碳循环与智慧健康

东方网记者王泳婷6月20日报道:由上海市人民政府参事室和旺旺集团《旺报》共同主办的“低碳循环与智慧健康”2024年沪台研讨会于6月20日在上海举行。沪台两地150余位嘉宾出席研讨会。研讨会上,旺旺集团副董事长周锡玮从绿碳、蓝碳、土壤固碳等不同角度作“农业减碳”主旨演讲。…...

采用CTB电池、11合1电驱,银河E5高调登场

自2023年2月发布以来,银河系列通过陆续上新银河L7、银河L6、银河E8,仅用了10个月,累计销量就突破12万辆,得到用户的认可。随着技术的迭代,也为了进一步提升品牌影响力,满足用户需求,日前吉利银河发布了旗下全新紧凑型纯电SUV——银河E5的官图。新车将在今年第二季度上市…...

本田CR-V与大众途观L车辆对比:资深人士解析,长期使用明显区别

在汽车市场领域,本田CR-V及大众途观L皆为备受瞩目的SUV车型。它们在市场上一直是激烈的竞争对手,消费者往往在它们之间犹豫不决。关于本田CR-V与大众途观L的对比文章,以帮助消费者更好地了解这两款车型的优劣势,并做出更明智的选择。一、车型特点本田CR-V是一款紧凑型SUV,…...

“霸总雷军”发财报,又赢了

朋友们,5月23日,小米发布2024年Q1业绩公告。小米第一季度营收人民币755亿元,同比增长27%。雷军想必对今年的业绩是满意的。从2020年提出高端战略后,这是小米首次在财报中将其形容为“取得显著成效”。与之相对的是,2024年第一季度小米经调整净利润达人民币65亿元,同比增长…...

vscode:如何解决”检测到include错误,请更新includePath“

vscode:如何解决”检测到include错误&#xff0c;请更新includePath“ 前言解决办法1 获取includePath路径2 将includePath路径添加到指定文件3 保存 前言 配置vscode是出现如下错误&#xff1a; 解决办法 1 获取includePath路径 通过cmd打开终端&#xff0c;输入如下指令&a…...