构建、标记和发布镜像
构建、标记和发布镜像
目录
- 构建镜像
- 标记镜像
- 发布镜像
- 实践
- 设置
- 构建镜像
- 推送镜像
在本指南中,您将学习以下内容:
- 构建镜像:基于Dockerfile构建镜像的过程。
- 标记镜像:为镜像命名的过程,这也决定了镜像的分发位置。
- 发布镜像:使用容器注册表分发或共享新创建的镜像的过程。
构建镜像
通常情况下,镜像是使用Dockerfile构建的。最基本的构建命令如下:
docker build .
命令中的.
提供了构建上下文的路径或URL。在这个位置,构建器会找到Dockerfile和其他引用的文件。
当您运行构建时,构建器会拉取基础镜像(如果需要),然后运行Dockerfile中指定的指令。
使用上述命令,镜像将没有名称,但输出会提供镜像的ID。例如,前面的命令可能产生如下输出:
docker build .
[+] Building 3.5s (11/11) FINISHED=> [internal] load build definition from Dockerfile 0.0s=> => transferring dockerfile: 308B 0.0s=> [internal] load metadata for docker.io/library/python:3.12 0.0s=> [internal] load .dockerignore 0.0s=> => transferring context: 2B 0.0s=> [1/6] FROM docker.io/library/python:3.12 0.0s=> [internal] load build context 0.0s=> => transferring context: 123B 0.0s=> [2/6] WORKDIR /usr/local/app 0.0s=> [3/6] RUN useradd app 0.1s=> [4/6] COPY ./requirements.txt ./requirements.txt 0.0s=> [5/6] RUN pip install --no-cache-dir --upgrade -r requirements.txt 3.2s=> [6/6] COPY ./app ./app 0.0s=> exporting to image 0.1s=> => exporting layers 0.1s=> => writing image sha256:9924dfd9350407b3df01d1a0e1033b1e543523ce7d5d5e2c83a724480ebe8f00 0.0s
根据上述输出,您可以使用引用的镜像启动一个容器:
docker run sha256:9924dfd9350407b3df01d1a0e1033b1e543523ce7d5d5e2c83a724480ebe8f00
这种名称肯定不好记,这时候标记镜像就变得很有用。
标记镜像
标记镜像是给镜像一个易记名称的方法。不过,镜像的名称有一定的结构。一个完整的镜像名称有以下结构:
[HOST[:PORT_NUMBER]/]PATH[:TAG]
- HOST:镜像所在的可选注册表主机名。如果没有指定主机名,默认为Docker的公共注册表docker.io。
- PORT_NUMBER:如果提供了主机名,则为注册表端口号。
- PATH:镜像的路径,由斜杠分隔的组件组成。对于Docker Hub,格式为[NAMESPACE/]REPOSITORY,其中namespace是用户或组织的名称。如果未指定namespace,则使用library,这是Docker官方镜像的命名空间。
- TAG:自定义的、易于阅读的标识符,通常用于标识镜像的不同版本或变体。如果未指定标签,默认使用latest。
一些镜像名称的例子包括:
nginx
,相当于docker.io/library/nginx:latest
:从docker.io注册表、library命名空间、nginx镜像仓库中拉取latest标签的镜像。docker/welcome-to-docker
,相当于docker.io/docker/welcome-to-docker:latest
:从docker.io注册表、docker命名空间、welcome-to-docker镜像仓库中拉取latest标签的镜像。ghcr.io/dockersamples/example-voting-app-vote:pr-311
:从GitHub Container Registry、dockersamples命名空间、example-voting-app-vote镜像仓库中拉取pr-311标签的镜像。
在构建期间标记镜像,可以添加-t
或--tag
标志:
docker build -t my-username/my-image .
如果您已经构建了镜像,可以使用docker image tag
命令添加另一个标签:
docker image tag my-username/my-image another-username/another-image:v1
发布镜像
构建并标记好镜像后,您就可以将其推送到注册表。使用docker push
命令:
docker push my-username/my-image
在几秒钟内,镜像的所有层都将被推送到注册表。
需要认证
在推送镜像到仓库之前,您需要进行认证。只需使用docker login
命令即可。
实践
在本指南中,您将使用提供的Dockerfile构建一个简单的镜像,并将其推送到Docker Hub。
设置
获取示例应用程序。
如果您有Git,可以克隆示例应用程序的仓库。否则,您可以下载示例应用程序。选择以下选项之一:
使用Git克隆
在终端中使用以下命令克隆示例应用程序仓库:
git clone https://github.com/docker/getting-started-todo-app
下载并安装Docker Desktop。
如果您还没有Docker账户,请现在创建一个。完成后,使用该账户登录Docker Desktop。
构建镜像
现在,您已经在Docker Hub上有了一个仓库,是时候构建一个镜像并将其推送到仓库了。
在示例应用程序仓库的根目录中,使用终端运行以下命令。将YOUR_DOCKER_USERNAME
替换为您的Docker Hub用户名:
docker build -t YOUR_DOCKER_USERNAME/concepts-build-image-demo .
例如,如果您的用户名是mobywhale
,则运行以下命令:
docker build -t mobywhale/concepts-build-image-demo .
构建完成后,您可以使用以下命令查看镜像:
docker image ls
该命令将产生类似以下的输出:
REPOSITORY TAG IMAGE ID CREATED SIZE
mobywhale/concepts-build-image-demo latest 746c7e06537f 24 seconds ago 354MB
您实际上可以使用docker image history
命令查看镜像的历史记录(或如何创建镜像):
docker image history mobywhale/concepts-build-image-demo
您将看到类似以下的输出:
IMAGE CREATED CREATED BY SIZE COMMENT
f279389d5f01 8 seconds ago CMD ["node" "./src/index.js"] 0B buildkit.dockerfile.v0
<missing> 8 seconds ago EXPOSE map[3000/tcp:{}] 0B buildkit.dockerfile.v0
<missing> 8 seconds ago WORKDIR /app 8.19kB buildkit.dockerfile.v0
<missing> 4 days ago /bin/sh -c #(nop) CMD ["node"] 0B
<missing> 4 days ago /bin/sh -c #(nop) ENTRYPOINT ["docker-entry… 0B
<missing> 4 days ago /bin/sh -c #(nop) COPY file:4d192565a7220e13… 20.5kB
<missing> 4 days ago /bin/sh -c apk add --no-cache --virtual .bui… 7.92MB
<missing> 4 days ago /bin/sh -c #(nop) ENV YARN_VERSION=1.22.19 0B
<missing> 4 days ago /bin/sh -c addgroup -g 1000 node && addu… 126MB
<missing> 4 days ago /bin/sh -c #(nop) ENV NODE_VERSION=20.12.0 0B
<missing> 2 months ago /bin/sh -c #(nop) CMD ["/bin/sh"] 0B
<missing> 2 months ago /bin/sh -c #(nop) ADD file:d0764a717d1e9d0af… 8.42MB
此输出显示了镜像的各层,突出了您添加的层以及从基础镜像继承的层。
推送镜像
现在,您已经构建了镜像,是时候将镜像推送到注册表了。
使用docker push
命令推送镜像:
docker push YOUR_DOCKER_USERNAME/concepts-build-image-demo
如果收到"requested access to the resource is denied"的错误,请确保您已经登录并且您的Docker用户名在镜像标签中是正确的。
稍等片刻,您的镜像应当被推送到Docker Hub。
相关文章:
![](https://www.ngui.cc/images/no-images.jpg)
构建、标记和发布镜像
构建、标记和发布镜像 目录 构建镜像标记镜像发布镜像实践 设置构建镜像推送镜像 在本指南中,您将学习以下内容: 构建镜像:基于Dockerfile构建镜像的过程。标记镜像:为镜像命名的过程,这也决定了镜像的分发位置。发…...
![](https://img-blog.csdnimg.cn/direct/2d5605e71c5b457abde6121c80884bb3.png)
[Go Web] Kratos 使用的简单总结
文章目录 1.Kratos 简介2.传输协议3.日志4.错误处理5.配置管理6.wire 1.Kratos 简介 Kratos并不绑定于特定的基础设施,不限定于某种注册中心,或数据库ORM等,所以您可以十分轻松地将任意库集成进项目里,与Kratos共同运作。 API -&…...
![](https://img-blog.csdnimg.cn/direct/c7b4c578eb7e49588ac810f3017b71e8.png#pic_center)
首个实时 AI 视频生成技术发布;科大讯飞发布星火大模型 4.0 丨 RTE 开发者日报
开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「…...
![](https://www.ngui.cc/images/no-images.jpg)
什么是容器镜像
什么是容器镜像? 1. 容器镜像的两个重要原则 容器镜像是容器化应用程序的基础,它包含了运行应用程序所需的一切——代码、运行时、库和依赖项。理解容器镜像的两个重要原则非常重要: 不可变性:容器镜像一旦构建,就不…...
![](https://img-blog.csdnimg.cn/direct/21b55e2091a947b6a3d3e003cf5a73b8.png)
ElasticSearch-Windows系统ElasticSearch(ES)的下载及安装
前言 下载ElasticSearch 可以进入ElasticSearch官方下载地址,选择与电脑系统相对应的版本;博主已经上传资源,或者点此直接免费下载,本次演示版本为8.14.1。 注意: Elasticsearch 5 需要 Java 8 以上版本;…...
![](https://img-blog.csdnimg.cn/direct/49cad044bcd940f8aa9961ae251c3f1c.png)
【应用开发二】GPIO操控(输出、输入、中断)
1 操控GPIO方式 控制目录:/sys/class/gpio /sys/class/gpio目录下文件如下图所示: 1.1 gpiochipX目录 功能:当前SoC所包含的所有GPIO控制器 i.mx6ull一共包含5个GPIO控制器,分别为GPIO1~5分别对应gpiochip0、gpiochip32、gpi…...
![](https://www.ngui.cc/images/no-images.jpg)
单点登录方法
一、父域cookie:两个有相同父域名的二级域名之间可以跨域传递cookie //注意该接口的地址也是baidu.com下属的二级域名:a.baidu.com //全部接口地址为:a.baidu.com/dev-api/system/ecdWeb/login。如果不是a.baidu.com那么根本带不过去 //其实可以理解为通过该方法将cookie传给…...
![](https://www.ngui.cc/images/no-images.jpg)
springboot集成JPA并配置hikariCP连接池问题解决
一、引入需要的依赖 springboot版本 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-parent</artifactId><version>2.3.2.RELEASE</version><relativePath/></parent> jpa依赖 <!--…...
![](https://www.ngui.cc/images/no-images.jpg)
vue2的双向绑定
vue是一个mvvm框架,即数据双向绑定,即当数据发生变化的时候,视图也就发生变化,当视图发生变化的时候,数据也会跟着同步变化。 Vue.js 2 中的双向绑定是通过 v-model 指令实现的。v-model 指令可以在表单输入元素上创建…...
![](https://img-blog.csdnimg.cn/direct/b34516d3c987400c91a6f8bebf3d6299.png)
Vue3 国际化i18n
国际化i18n方案 1. 什么是i18n2. i18n安装、配置及使用2.1 安装2.2 配置2.3 挂载到实例2.4 组件中使用2.5 语言切换 1. 什么是i18n i18n 是“国际化”的简称。在资讯领域,国际化(i18n)指让产品(出版物,软件,硬件等)无…...
![](https://www.ngui.cc/images/no-images.jpg)
算法金 | 使用随机森林获取特征重要性
大侠幸会幸会,我是日更万日 算法金;0 基础跨行转算法,国内外多个算法比赛 Top;放弃 BAT Offer,成功上岸 AI 研究院 Leader; <随机森林及其应用领域> 随机森林是一种强大的机器学习算法,其…...
![](https://www.ngui.cc/images/no-images.jpg)
网络安全的重要性
网络安全的重要性 网络安全是指保护网络系统免受未授权的访问、攻击、破坏或未经授权的数据泄露的能力。随着互联网的普及和数字化进程的加速,网络安全问题日益凸显,成为个人、企业和国家必须面对的重要挑战。 网络安全的威胁 网络安全威胁包括黑客攻…...
![](https://www.ngui.cc/images/no-images.jpg)
Leetcode40 无重复组合之和
题目描述: 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意:解集不能包含重复的组合。 思路分析 这个题是…...
![](https://www.ngui.cc/images/no-images.jpg)
详解MATLAB中处理日期和时间的函数
在MATLAB中处理日期和时间时,可以使用多种函数来进行计时和时间差计算。以下是对一些常用函数的详细解释: 1. tic 和 toc 用途:用来测量一段代码执行的时间。用法:tic; % 启动秒表 % 你的代码 elapsedTime toc; % 停止秒表&…...
![](https://img-blog.csdnimg.cn/direct/9f2e5cd5463b4feaa007b54164416fcd.png)
Java养老护理助浴陪诊小程序APP源码
💖护理助浴陪诊小程序💖 一、引言:养老新趋势🌱 在快节奏的现代生活中,养老问题逐渐成为了社会关注的焦点。如何为老年人提供便捷、贴心的服务,让他们晚年生活更加安心、舒适,是我们每个人都需…...
![](https://www.ngui.cc/images/no-images.jpg)
go的singleFlight学习
Package singleflight provides a duplicate function call suppression mechanism “golang.org/x/sync/singleflight” 原来底层是 waitGroup,我还以为等待的协程主动让出 cpu 了,没想到 waitGroup.Wait() 阻塞了 doCall 不但返回值是 func 的 val 和…...
![](https://img-blog.csdnimg.cn/img_convert/823dd88d0aae4c4c75539f597c8b5b50.png)
高电压技术-冲击高压发生器MATLAB仿真
微❤关注“电气仔推送”获得资料(专享优惠) 冲击电压发生器是产生冲击电压波的装置,用于检验电力设备耐受大气过电压和操作过电压的绝缘性能,冲击电压发生器能产生标准雷电冲击电压波形,雷电冲击电压截波,标准操作冲击…...
![](https://img-blog.csdnimg.cn/direct/4bcca1b9e698475184b8612c9ee78faa.png)
【STM32】SysTick系统滴答定时器
1.SysTick简介 CM4内核的处理和CM3一样,内部都包含了一个SysTick定时器,SysTick 是一个24 位的倒计数定时器,当计到0 时 ,将 从RELOAD 寄存器中自动重装载定时初值。只要不把它在SysTick 控制及状态寄存器中的使能位清除…...
![](https://www.ngui.cc/images/no-images.jpg)
编码遵循五大设计原则创建出更加健壮、可维护和可扩展的软件系统
一、单一职责原则(SRP) * 定义:一个类应该只有一个引起它变化的原因。 * 解释:意味着一个类应该专注于做一件事情,当需求发生变化时,只影响到一个类。这有助于降低类间的耦合,使得代码更易于理…...
![](https://www.ngui.cc/images/no-images.jpg)
记录一个问题
问题描述 如果一个物料既在A总成零件号下计算为托盘库,在B总成零件号下计算为箱库,则放于箱库。 A中选择排名第21的递补进托盘库。(也需要判断递补的是否在其他总成零件中为箱库,是的话继续递补判断) 解决思路 为了…...
![](https://img-blog.csdnimg.cn/direct/db07fb60cb72415c8f00df15db3d6e1f.png)
ONLYOFFICE 8.1版本桌面编辑器测评:重塑办公效率的巅峰之作
在数字化办公日益普及的今天,一款高效、便捷且功能强大的桌面编辑器成为了职场人士不可或缺的工具。ONLYOFFICE 8.1版本桌面编辑器凭借其卓越的性能和丰富的功能,成功吸引了众多用户的目光。今天,我们将对ONLYOFFICE 8.1版本桌面编辑器进行全…...
![](https://img-blog.csdnimg.cn/direct/23cc0c045eda499e86d22b4edb1ea191.png)
【shell脚本速成】python安装脚本
文章目录 案例需求应用场景解决问题脚本思路案例代码 🌈你好呀!我是 山顶风景独好 🎈欢迎踏入我的博客世界,能与您在此邂逅,真是缘分使然!😊 🌸愿您在此停留的每一刻,都沐…...
![](https://img-blog.csdnimg.cn/direct/12e20f9c48184ee4aee2053f6da2566f.png)
Redis报错:MISCONF Redis is configured to save RDB snapshots
错误提示内容: 2024-06-25 16:30:49 : Connection: Redis_Server > [runCommand] PING 2024-06-25 16:30:49 : Connection: Redis_Server > Response received : -MISCONF Redis is configured to save RDB snapshots, but it is currently not able to pers…...
![](https://img-blog.csdnimg.cn/direct/e1caf3b483704f8e8583bace5efb85c3.png)
关于使用绿联 USB-A转RJ45 2.5G网卡提速的解决问题
问题 网络下载速率低 网线是七类网线,外接的USB网卡驱动 我的自带网卡是 I219v 在嵌入了2.5G网络后一直无法到达1.5G以上。 平均测速300~500M 解决方案 更新了USB的网卡驱动 禁用了 I219-V的驱动。测速即可 USB驱动下载地址 https://download.csdn.net/downlo…...
![](https://img-blog.csdnimg.cn/direct/3178a5d82a1f4548a6476fe186788636.png)
Qt: QPushButton 按钮实现 上图标下文字
效果如下: 实现有如下几种方式: 1. 使用 QPushButton 设置 setStyleSheet 例: ui->recorder->setStyleSheet("QPushButton{"\"border: 1px solid #00d2ff; "\"min-height: 60px; "\"col…...
![](https://www.ngui.cc/images/no-images.jpg)
使用阿里云效API操作流水线
使用阿里云效(Alibaba Cloud DevOps)API操作流水线时,需要注意以下几个方面: 认证与授权 确保你已经获取了正确的访问凭证(AccessKey ID 和 AccessKey Secret),并且这些凭证具有足够的权限来执行…...
![](https://img-blog.csdnimg.cn/direct/e35353e29ccd4e369b82e767897003b1.png)
使用命令行创建uniapp+TS项目,使用vscode编辑器
一:如果没有pnpm,先安装pnpm 二:使用npx工具和degit工具从 GitHub 上的 dcloudio/uni-preset-vue 仓库克隆一个名为 vite-ts 的分支,到项目中. 执行完上面命令后,去manifest.json添加appid(自己微信小程序的Id),也可不执行直接下一步,执行pnpm install ,再执行pnpm:dev:mp-weix…...
![](https://www.ngui.cc/images/no-images.jpg)
ABC355 Bingo2
分析: 找出其中一行或列或任意对角线被全部标记,即可输出回合数,否则输出-1 如果x%n0,行是x/n,列是n 如果x%n!0,行是x/n1,列是x%n 如果行列或行列n1即为对角线。 标记行列对角线…...
![](https://img-blog.csdnimg.cn/direct/36f0816050ec4e4f99879ee516bec0c6.png)
Spring+Vue项目部署
目录 一、需要的资源 二、步骤 1.首先要拥有一个服务器 2.项目准备 vue: 打包: 3.服务器装环境 文件上传 设置application.yml覆盖 添加启动和停止脚本 编辑 安装jdk1.8 安装nginx 安装mysql 报错:「ERR」1273-Unknown collation: utf8m…...
![](https://img-blog.csdnimg.cn/direct/f7b68fa92f9d450a8751e775daa90267.png)
【uml期末复习】统一建模语言大纲
前言: 关于uml的期末复习的常考知识点,可能对你们有帮助😉 目录 第一部分 概念与基础 第一章 面向对象技术 第二章 统一软件过程 第三章 UML概述 第四章 用例图 第五章 类图 第六章 对象图 第七章 顺序图 第八章 协作图 第九章 状态…...
![](https://img-blog.csdnimg.cn/direct/e0cdf754063544ef8b58aead3faa740e.png)
Linux高级IO
高级IO 1.五种IO模型1.1 阻塞IO1.2 非阻塞IO1.3 信号驱动IO1.4 多路复用/多路转接IO1.5 异步IO1.6 小结 2.高级IO重要概念3.非阻塞IO3.1 实现函数NoBlock3.2 轮询方式读取标准输入 4.I/O多路转接之select4.1 理解select执行过程4.2 select的特点4.3 select缺点4.4 实现 5.I/O多…...
![](https://img-blog.csdnimg.cn/direct/6a79567239554fdca6a486787dff43fc.png)
go-admin-ui开源后台管理系统华为云部署
1.华为云开通8000与9527端口 2.编译 编译成功 3.发布到远程服务器 4.登陆华为云终端 5.安装Nginx 6.查看服务启动状态 7.添加网站 添加与修改配置www-data 改为 www 自定义日志输出格式 添加网站配置文件go_admin_ui.conf 添加如下内容: location 下的root指向网站文件夹 修…...
![](https://img-blog.csdnimg.cn/35b173092ee84479a036edc0ce2918d6.png)
点云入门知识
点云的处理任务 场景语义分割 物体的三维表达方法(3D representations): 点云:是由物体表面上许多点数据来表征这个物体。最接近原始传感器数据,且具有丰富的几何信息。 Mesh:用三角形面片和正方形面片拼…...
![](https://img-blog.csdnimg.cn/direct/e94ee7649ea34844bece5a3ea86141be.png#pic_center)
HTML静态网页成品作业(HTML+CSS+JS)——家乡莆田介绍网页(5个页面)
🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,使用Javacsript代码实现图片轮播,共有5个页面。 二、作品…...
![](https://www.ngui.cc/images/no-images.jpg)
#### grpc比http性能高的原因 ####
grpc比http性能高的原因 二进制消息格式:gRPC使用Protobuf(一种有效的二进制消息格式)进行序列化,这种格式在服务器和客户端上的序列化速度非常快,且序列化后的消息体积小,适合带宽有限的场景。 HTTP/2协…...
![](https://www.ngui.cc/images/no-images.jpg)
微软Edge浏览器搜索引擎切换全攻略
微软Edge浏览器作为Windows 10的默认浏览器,提供了丰富的功能和良好的用户体验。其中,搜索引擎的切换功能允许用户根据个人喜好和需求,快速更换搜索引擎,从而获得更加个性化的搜索服务。本文将详细介绍如何在Edge浏览器中进行搜索…...
![](https://www.ngui.cc/images/no-images.jpg)
<Linux> 实现命名管道多进程任务派发
实现命名管道多进程任务派发 common文件 #ifndef _COMMON_H_ #define _COMMON_H_#pragma once #include <iostream> #include <unistd.h> #include <string> #include <sys/types.h> #include <sys/stat.h> #include <wait.h> #include &…...
![](https://img-blog.csdnimg.cn/direct/ca8a8ca5f52d434e89aa16fd5027c940.png)
BigInteger 和 BigDecimal(java)
文章目录 BigInteger(大整数)常用构造方法常用方法 BigDecimal(大浮点数)常用构造方法常用方法 DecimalFormat(数字格式化) BigInteger(大整数) java.math.BigInteger。 父类:Number 常用构造方法 构造方法:BigIntege…...
![](https://www.ngui.cc/images/no-images.jpg)
Linux 进程间通讯
Linux IPC 方式 在Linux系统中,进程间通信(IPC)是多个运行中的程序或进程之间交换数据和信息的关键机制。Linux提供了多种IPC机制,每种机制都有其特定的用途和优势。以下是Linux上主要的IPC通信方式: 管道(…...
![](https://img-blog.csdnimg.cn/direct/2ddec45c3bbb4d51938eb71b3bcddbb5.png)
数据分析三剑客-Matplotlib
数据分析三剑客 数据分析三剑客通常指的是在Python数据分析领域中,三个非常重要的工具和库:Pandas、NumPy和Matplotlib。Pandas主要负责数据处理和分析,NumPy专注于数值计算和数学运算,而Matplotlib则负责数据可视化。这三个库相…...
![](https://www.ngui.cc/images/no-images.jpg)
FastAPI-Body、Field
参考:模式的额外信息 - 例子 - FastAPI 在FastAPI中,Body和Field是两个常用的注解,它们用于定义请求体中的数据或路径参数、查询参数等的处理方式。这两个注解都来自于Pydantic库,用于数据验证和解析,但它们的应用场景…...
![](https://img-blog.csdnimg.cn/direct/763930f403bf413797a29dfe1f124f0d.png)
软件设计师笔记-操作系统知识(二)
线程 以下是关于线程的一些关键点: 线程是进程中的一个实体:进程是操作系统分配资源(如内存空间、文件句柄等)的基本单位,而线程是进程中的一个执行单元。多个线程可以共享同一个进程的地址空间和其他资源。线程是CP…...
![](https://img-blog.csdnimg.cn/img_convert/97b2880cf829ad6cefb290c7b4bf0b9a.png)
鸿蒙UI开发快速入门 —— part12: 渲染控制
如果你对鸿蒙开发感兴趣,加入Harmony自习室吧~👇🏻👇🏻👇🏻👇🏻 扫描下面的二维码关注公众号。 1、前言 在声明式描述语句中开发者除了使用系统组件外,还可…...
![](https://img-blog.csdnimg.cn/direct/f81d509d53694a2b828e7d903e4c222c.png)
添加用户页面(Flask+前端+MySQL整合)
首先导入Flask库和pymysql库。Flask用于创建Web应用程序,pymysql用于连接和操作MySQL数据库。 from flask import Flask, render_template, request import pymysql创建一个Flask应用实例。__name__参数告诉Flask使用当前模块作为应用的名称。 app Flask(__name_…...
![](https://www.ngui.cc/images/no-images.jpg)
素数筛(算法篇)
算法之素数筛 素数筛 引言: 素数(质数):除了1和自己本身之外,没有任何因子的数叫做素数(质数) 朴素筛法(优化版) 概念: 朴素筛法:是直接暴力枚举2到当前判断的数x(不包括),然后看在这范围内是否存在因…...
![](https://www.ngui.cc/images/no-images.jpg)
迁移Microsoft Edge
如何将Microsoft Edge迁移到d盘?对于Microsoft Edge想必大部分人都不陌生,它是Windows操作系统的默认浏览器,存储用户的个人数据、缓存和设置等信息。有些时候,我们需要对Microsoft Edge中的数据进行数据迁移,以释放c盘…...
![](https://img-blog.csdnimg.cn/direct/4a6b76bbbeaa4cb6be553d8802de9cbf.png)
Maven高级理解属性
属性 在这一章节内容中,我们将学习两个内容,分别是 属性版本管理 属性中会继续解决分模块开发项目存在的问题,版本管理主要是认识下当前主流的版本定义方式。 4.1 属性 4.1.1 问题分析 讲解内容之前,我们还是先来分析问题: …...
![](https://img-blog.csdnimg.cn/img_convert/1938f51b2d6de4d835dc51afeb88a65f.png)
Trilium Notes浏览器插件保存网页内容到docker私有化部署
利用Trilium浏览器插件可以很方便的把网页内容保存到Trilium,需要先在docker部署好trilium,还没有部署的可以先看这篇文章:trilium笔记私有化部署-www.88531.cn资享网 1.下载Trilium浏览器插件:https://www.npspro.cn/33462.html…...
![](https://www.ngui.cc/images/no-images.jpg)
C++ 统计二进制串中0出现的个数
描述 一个32位有符号整数,使用二进制来表示,现在要统计一下二进制串中0的个数。 示例1 输入: 11 返回值: 29 说明: 二进制00000000000000000000000000001011中有29位0 class Solution { public:/*** 代码中的…...
![](https://www.ngui.cc/images/no-images.jpg)
note-网络是怎样连接的6 请求到达服务器,响应返回浏览器
助记提要 服务器程序的结构套接字的指代方式MAC模块的接收过程IP模块的接收过程TCP模块处理连接包TCP模块处理数据包TCP模块的断开操作URI转换为实际文件路径URI调用程序Web服务器访问控制响应内容的类型 6章 请求到达服务器,响应返回浏览器 1 服务器概览 在数据…...
![](https://img-blog.csdnimg.cn/39e07fb5b4e1443e92c695ea7e0bb00d.gif)
使用 App Store Connect API 生成和读取分析报告
文章目录 前言安装 API Swift SDK配置 API Swift SDK生成分析报告获取所有可用的报告获取报告的分段下载分段的数据总结 前言 Apple 最近推出了50多个新的分析报告,其中包含数百个新的数据点和指标,以帮助开发者了解他们的应用程序的表现情况。 这些报…...
![](https://img-blog.csdnimg.cn/direct/850e7df1b1ad4c3f9222f592f8c63123.png)
go语言DAY7 字典Map 指针 结构体 函数
Go中Map底层原理剖析_go map底层实现-CSDN博客 目录 Map 键值对key,value 注意: map唯一确定的key值通过哈希运算得出哈希值 一、 map的声明及初始化: 二、 map的增删改查操作: 三、 map的赋值操作与切片对比: 四、 通用所有…...
![](https://www.ngui.cc/images/no-images.jpg)
代码随想录Day71(图论Part07)
53.寻宝 题目:53. 寻宝(第七期模拟笔试) (kamacoder.com) 思路:首先,我不知道怎么存这样的东西,用三维数组吗,没搞懂,果断放弃 prim算法实现 import java.util.*;class Main {publi…...
![](https://img-blog.csdnimg.cn/direct/4e3610cdea344d57a4589f618c4e8f41.png)
创意与情感共鸣:如何利用TikTok达人打造独特品牌故事
在数字化时代的潮流中,TikTok正逐渐成为品牌推广和用户互动的重要舞台。其中,TikTok达人凭借其独特的创意性和强大的情感共鸣能力,成为独立站品牌故事的新讲述者。本文Nox聚星将和大家探讨如何通过与TikTok达人合作讲述品牌故事,增…...
![](https://i-blog.csdnimg.cn/direct/b0e50dee7261445192febf49ac28e3f0.png)
小米平板6系列对比
小米平板6系列目前有4款,分别为6、6 Pro、6 Max、6S Pro。具体对比如下表所示。 小米平板型号66 Pro6 Max6S Pro实物图发布时间2023年4月21日2023年4月21日2023年8月14日2024年2月22 日屏幕大小11英寸11英寸14英寸12.4英寸分辨率2.8K2.8K2.8K3K刷新率144Hz144Hz120…...
![](https://img-blog.csdnimg.cn/img_convert/8907b660e61fc357d0fe721d21e187d8.png)
Hack The Box-Editorial
端口扫描 web 先打开网页,没啥内容,扫个后台。 about没啥东西,主要应该是upload页面。 文件上传功能,上传本地文件,会被重命名,后缀名会被删除并且文件名重命名,若尝试打开链接,…...
![](https://www.ngui.cc/images/no-images.jpg)
马斯克:若苹果在操作系统层面集成OpenAI,我将禁止苹果设备进入我的公
文|编辑部整理 编辑|大风马斯克:若苹果在操作系统层面集成OpenAI,我将禁止苹果设备进入我的公司马斯克表示,如果苹果与OpenAI合作,在操作系统层面整合ChatGPT,我将禁止那些携带苹果设备的人来访。届时,访客将需要在公司大门口接受针对苹果设备的设备检查。马斯克提及,“…...
![](https://www.ngui.cc/images/no-images.jpg)
携手“黔”行百花开厦门大学对口支援贵州师范大学十八载
厦门大学对口支援贵州师范大学十八载携手“黔”行百花开“我为能够参与助力贵州师范大学学科建设实现从0到1,亲眼见证两校合作开花结果而感到骄傲自豪。”2007年,卢琳璋作为厦门大学首批派遣干部之一,挂职贵州师范大学数学与计算机科学学院院长,负责引领数学学科博士点的申…...
![](https://img-blog.csdnimg.cn/direct/8a94cf6f14d44dd4a6f00d2d12624b4e.png)
2024年4月—马克思主义基本原理概论真题及答案解析(上海自考)
目录 1.选择题 2.简答题 3.论述题 1.选择题 2.简答题...
![](https://www.ngui.cc/images/no-images.jpg)
AI数字人及其应用
本文将简单了解下AI数字人、应用场景。 一、基本认识 AI数字人:使用人工智能技术创建的虚拟数字化人物。这些数字人物可以被设计成具有人类般的外观、行为和交互能力。它们通常用于虚拟现实、视频、游戏、培训模拟、客户服务等领域。 其中AI数字人在视频制作中是…...
![](https://img-blog.csdnimg.cn/direct/ce72f65b160a45c7b1d29af8be7a90bb.png)
Golang | Leetcode Golang题解之第107题二叉树的层序遍历II
题目: 题解: func levelOrderBottom(root *TreeNode) [][]int {levelOrder : [][]int{}if root nil {return levelOrder}queue : []*TreeNode{}queue append(queue, root)for len(queue) > 0 {level : []int{}size : len(queue)for i : 0; i < …...
![](https://csdnimg.cn/release/blog_editor_html/release2.3.6/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=N7T8)
美团Java社招面试题真题,最新面试题
如何处理Java中的内存泄露? 1、识别泄露: 使用内存分析工具(如Eclipse Memory Analyzer Tool、VisualVM)来识别内存泄露的源头。 2、代码审查: 定期进行代码审查,关注静态集合类属性和监听器注册等常见内…...