阿里云容器镜像服务ACR(Alibaba Cloud Container Registry)推送镜像全过程及总结

前提:安装配置好docker,可参考我这篇 基于CentOS7安装配置docker与docker-compose。

一、设置访问凭证

1.1 容器镜像服务ACR

登录进入阿里云首页,点击 产品-容器-容器镜像服务ACR
在这里插入图片描述
点击管理控制台
在这里插入图片描述

1.2 进入控制台-点击实例列表

在这里插入图片描述
个人容器镜像托管服务,限额使用
在这里插入图片描述

1.3 创建个人版

在这里插入图片描述
个人容器镜像托管服务,限额使用
在这里插入图片描述
知晓个人版无SLA保障且有使用限制,请勿在生产业务中使用
在这里插入图片描述
创建中
在这里插入图片描述
创建成功
在这里插入图片描述

1.4 设置Registry登录密码

在这里插入图片描述
点击确定
在这里插入图片描述
点击确定
在这里插入图片描述
初始化成功
在这里插入图片描述

1.5 查看访问凭证

在上图中点击 “访问凭证”,按下图复制访问凭证

在这里插入图片描述

1.6 复制粘贴凭证 Login Succeeded

在这里插入图片描述
Login Succeeded
在这里插入图片描述

1.7 设置固定密码

在这里插入图片描述
设置固定密码,手机验证
在这里插入图片描述
全过程
在这里插入图片描述

1.8 个人版运行中

在这里插入图片描述

1.9 第一步 访问凭证-设置访问密码完成(右下角有显示)

在这里插入图片描述

1.10 容器镜像服务个人版将于2023年8月20日起取消个人版实例的镜像安全扫描-镜像同步功能

在这里插入图片描述

二、创建命名空间

2.1 创建命名空间相关说明

创建命名空间相关说明:
1、一个账号最多可以创建 3 个命名空间2、命名空间创建参考:
推荐创建的命名空间用来对应一个公司、组织或个人用户,例如AliyunObama。不推荐用来对应一个模块
或系统,例如TomcatCentOS,应用或模块推荐使用仓库进行管理。3、定义您的镜像仓库命名空间,设置后不可修改。长度为2-30位,可填写小写英文字母、数字,可使用的分隔
符包括“_”、“-”(分隔符不能在首位或末位)

2.2 点击右下角命名空间 第二步

在这里插入图片描述
在这里插入图片描述

2.3 创建命名空间-2023815_djc-命名空间创建参考

在这里插入图片描述
在这里插入图片描述
创建命名空间-2023815_djc成功
在这里插入图片描述

2.4 第二步-命名空间-创建命名空间完成

在这里插入图片描述

三、创建镜像仓库rep2023815

注意: 这里的镜像仓库名rep2023815有误,容易无法区分镜像,但过程和步骤没问题,建议直接从 四、创建镜像仓库mysql全过程五、将mysql镜像推送到Registry-镜像仓库mysql 开始阅读,再看 七、总结 ,减少无用功。

3.1 点击右下角镜像仓库 第三步

在这里插入图片描述

3.2 点击创建镜像仓库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3 代码源选择本地仓库

代码源 选择本地仓库 ,。可以通过命令行推送镜像到镜像仓库
在这里插入图片描述

3.4 其他代码源介绍

3.4.1 代码源-Codeup介绍

在这里插入图片描述

3.4.2 代码源-GitHub

在这里插入图片描述

3.4.3代码源-Bitbucket

在这里插入图片描述

3.4.4代码源-私有GitLab

在这里插入图片描述

3.4.5 代码源-本地仓库

在这里插入图片描述

3.5 代码源选择本地仓库 -镜像仓库rep2023815创建成功

在这里插入图片描述

3.5.1 仓库rep2023815-基本信息-操作指南

在这里插入图片描述

3.5.2 镜像仓库rep2023815-基本信息-制品描述

在这里插入图片描述

3.6 镜像仓库rep2023815-触发器

在这里插入图片描述

3.7 仓库rep2023815-镜像版本

在这里插入图片描述

3.8 将jdk11镜像推送到Registry-镜像仓库rep2023815

docker login --username=djcking2020 registry.cn-hangzhou.aliyuncs.com
//输入之前设置的密码  
docker tag 526230ab6ddf registry.cn-hangzhou.aliyuncs.com/2023815_djc/rep2023815:11docker push registry.cn-hangzhou.aliyuncs.com/2023815_djc/rep2023815:11

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.9 将nginx镜像推送到Registry–镜像仓库rep2023815

docker login --username=djcking2020 registry.cn-hangzhou.aliyuncs.com 
输入之前设置的密码  docker tag 0e901e68141f registry.cnhangzhou.aliyuncs.com/2023815_djc/rep2023815:v1.21.6   docker push registry.cn-hangzhou.aliyuncs.com/2023815_djc/rep2023815:v1.21.6

3.10 将mysql8.0.31镜像推送到Registry-镜像仓库rep2023815

//1-登录  在终端中输入访问凭证,登录Registry实例 
docker login --username=djcking2020 registry.cn-hangzhou.aliyuncs.com
输入之前设置的密码  //2-tag
//docker images
//mysql        8.0.31          484689f290f   8 months ago    538MB
//docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/2023815_djc/rep2023815:[镜像版本号]
docker tag  7484689f290f  registry.cn-hangzhou.aliyuncs.com/2023815_djc/rep2023815:v8.0.31       3-push
//docker push registry.cn-hangzhou.aliyuncs.com/2023815_djc/rep2023815:[镜像版本号]
docker push registry.cn-hangzhou.aliyuncs.com/2023815_djc/rep2023815:v8.0.31    请根据实际镜像信息替换示例中的[ImageId][镜像版本号]参数。

3.12 镜像仓库一览

在这里插入图片描述

在这里插入图片描述
注意: 这里的镜像仓库名rep2023815有误,容易无法区分镜像,但过程和步骤没问题,建议直接从 四、创建镜像仓库mysql全过程五、将mysql镜像推送到Registry-镜像仓库mysql 开始阅读,再看 七、总结 ,减少无用功。

四、创建镜像仓库mysql全过程

4.1 首页

在这里插入图片描述

4.2 点击管理控制台

在这里插入图片描述

4.3 进入实例列表

在这里插入图片描述
在这里插入图片描述

4.4 点击进入镜像仓库

在这里插入图片描述
在这里插入图片描述

4.5 点击创建镜像仓库

在这里插入图片描述

点击“下一步”
在这里插入图片描述
在这里插入图片描述

4.6 镜像仓库mysql-基本信息

提示点击“添加仓库成功”
在这里插入图片描述

4.6.1 镜像仓库mysql-基本信息-操作指南

在这里插入图片描述

操作指南 1. 登录阿里云Docker Registry
$ docker login --username=djcking2020 registry.cn-hangzhou.aliyuncs.com
用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。
//输入之前设置的密码 
您可以在访问凭证页面修改凭证密码。2.Registry中拉取镜像
$ docker pull registry.cn-hangzhou.aliyuncs.com/2023815_djc/mysql:[镜像版本号]3. 将镜像推送到Registry
$ docker login --username=djcking2020 registry.cn-hangzhou.aliyuncs.com
$ docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/2023815_djc/mysql:[镜像版本号]
$ docker push registry.cn-hangzhou.aliyuncs.com/2023815_djc/mysql:[镜像版本号]
请根据实际镜像信息替换示例中的[ImageId][镜像版本号]参数。4. 选择合适的镜像仓库地址
从ECS推送镜像时,可以选择使用镜像仓库内网地址。推送速度将得到提升并且将不会损耗您的公网流量。如果您使用的机器位于VPC网络,请使用 registry-vpc.cn-hangzhou.aliyuncs.com 作为Registry的域名登录。5. 示例
使用"docker tag"命令重命名镜像,并将它通过专有网络地址推送至Registry。$ docker images
REPOSITORY                                                         TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
registry.aliyuncs.com/acs/agent                                    0.7-dfb6816         37bb9c63c8b2        7 days ago          37.89 MB
$ docker tag 37bb9c63c8b2 registry-vpc.cn-hangzhou.aliyuncs.com/acs/agent:0.7-dfb6816
使用 "docker push" 命令将该镜像推送至远程。$ docker push registry-vpc.cn-hangzhou.aliyuncs.com/acs/agent:0.7-dfb6816

4.6.2 镜像仓库mysql-基本信息-制品描述

在这里插入图片描述

4.7 镜像仓库可以查看到刚刚创建好的mysql镜像仓库

在这里插入图片描述

五、将mysql镜像推送到Registry-镜像仓库mysql

5.1 将镜像推送到Registry-操作指南

参考 4.6.1 仓库mysql-基本信息-操作指南 中的第3点。

3. 将镜像推送到Registry
docker login --username=djcking2020 registry.cn-hangzhou.aliyuncs.com
输入之前设置的密码 docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/2023815_djc/mysql:[镜像版本号]docker push registry.cn-hangzhou.aliyuncs.com/2023815_djc/mysql:[镜像版本号]
请根据实际镜像信息替换示例中的[ImageId][镜像版本号]参数。

5.2 docker images 查看需要上传push的镜像信息

IMAGE ID 与 镜像版本号(TAG)

请根据实际镜像信息替换示例中的[ImageId]和[镜像版本号]参数。

在这里插入图片描述

5.3 将mysql镜像推送到Registry-镜像仓库mysql

5.3.1 将mysql镜像推送到Registry-镜像仓库mysql-命令

3. 将镜像推送到Registry
//1-login
docker login --username=djcking2020 registry.cn-hangzhou.aliyuncs.com
输入之前设置的密码  
//2-tag
//这个命令并没有推送镜像,只是给镜像指定一个版本,这个版本不是指本地镜像的版本,而是推送后在阿里云仓库的版本。
docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/2023815_djc/mysql:[镜像版本号]
//3-push
docker push registry.cn-hangzhou.aliyuncs.com/2023815_djc/mysql:[镜像版本号]-----------//1-login
//连续上传,只需要登录一次
docker login --username=djcking2020 registry.cn-hangzhou.aliyuncs.com
输入之前设置的密码  -------------mysql 8.0.29-----------------------
//2-tag
docker tag 33037edcac9b  registry.cn-hangzhou.aliyuncs.com/2023815_djc/mysql:8.0.29  
//3-push
docker push registry.cn-hangzhou.aliyuncs.com/2023815_djc/mysql:8.0.29  -------------mysql 8.0.31-----------------------
//2-tag
docker tag 7484689f290f  registry.cn-hangzhou.aliyuncs.com/2023815_djc/mysql:8.0.31  
//3-push
docker push registry.cn-hangzhou.aliyuncs.com/2023815_djc/mysql:8.0.31 
【说明】:
docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/2023815_djc/mysql:[镜像版本号]
这个命令并没有推送镜像,只是给镜像指定一个版本,这个版本不是指本地镜像的版本,而是推送后在阿里云仓库的版本。//tag后面的是你要推送的镜像id
//后面是你的镜像仓库地址,直接去创建好的仓库去复制 

5.3.2 将mysql镜像推送到Registry–镜像仓库mysql-截图

在这里插入图片描述

Digest:该镜像的摘要信息。当您下载镜像时,最后一行中会出现这个值。镜像ID: 使用1.10以上版本的客户端推送、拉取镜像时,这个值在客户端和服务端能够保持一致。否则这个值
将是随机的不予提供。

5.4 mysql8.0.31推送到Registry-镜像仓库mysql的一些问题

镜像仓库rep2023815也推送了一个mysql8.0.31的镜像,见 3.10 将mysql8.0.31镜像推送到Registry-镜像仓库rep2023815
在这里插入图片描述

5.5 推送mysql镜像到Registry-镜像仓库mysql后再次使用docker images

发现推送到Registry后会在本地也生成一个 相同IMAGE ID的镜像,如下图所示。
在这里插入图片描述

5.6 进入阿里云镜像仓库查看推送到Registry(镜像仓库mysql)的mysql镜像

在这里插入图片描述
点击mysql镜像仓库,点击镜像版本
在这里插入图片描述

六、将之前使用dockerfile手动构建JDK11镜像推送到Registry-镜像仓库jdk

文章见 使用dockerfile手动构建JDK11镜像运行容器并校验

3. 将镜像推送到Registry
docker login --username=djcking2020 registry.cn-hangzhou.aliyuncs.com
输入之前设置的密码  
//docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/2023815_djc/jdk:[镜像版本号]
docker tag 526230ab6ddf  registry.cn-hangzhou.aliyuncs.com/2023815_djc/jdk:11//docker push registry.cn-hangzhou.aliyuncs.com/2023815_djc/jdk:[镜像版本号]
docker push registry.cn-hangzhou.aliyuncs.com/2023815_djc/jdk:11请根据实际镜像信息替换示例中的[ImageId][镜像版本号]参数。

6.1 创建镜像仓库jdk

在这里插入图片描述
在这里插入图片描述

6.2 jdk镜像仓库-本地仓库-基本信息-操作指南

在这里插入图片描述
docker images
这里可以看到本地存在两个同IMAGE ID的镜像,TAG都是11,一个是在使用dockerfile手动构建JDK11镜像运行容器并校验 中手动使用 docker build -t java:11 . 命令构建的,另外一个则是在
3.9 将jdk11镜像推送到Registry-镜像仓库rep2023815推送到rep2023815镜像仓库后,后会在本地也生成一个 相同IMAGE ID的镜像。
在这里插入图片描述

6.3 将jdk镜像推送到Registry-镜像仓库jdk截图

在这里插入图片描述
可以发现,这里和正常推送到仓库成功后显示的信息不同,这里显示Mounted from 2023815_djc/rep2023815,

1、此时rep2023815和jdk这两个镜像仓库相同的是中都推送了jdk11这个镜像,并且IMAGE IDTAG都相同。2、但是rep2023815镜像仓库中的REPOSITORY就是registry.cnhangzhou.aliyuncs.com/2023815_djc/rep2023815,
而且还存放了mysql8.0.31的镜像。3、jdk镜像仓库的推送的jdk的REPOSITORY是registry.cn-hangzhou.aliyuncs.com/2023815_djc/jdk,只存放了jdk这一种镜像。

所以这里显示的 Mounted from 2023815_djc/rep2023815,应该是从和镜像仓库jdk同一命名空间2023815_djc,存放相同IMAGE IDjdk11镜像的镜像仓库rep2023815中(3.9 将jdk11镜像推送到Registry-镜像仓库rep2023815),直接把该jdk11镜像同步到了镜像仓库jdk,所以显示和正常推送的不同。
在这里插入图片描述

6.4 镜像仓库jdk

在这里插入图片描述
刚刚推送到Registry-镜像仓库jdk的jdk11镜像
在这里插入图片描述

6.5 镜像仓库jdk-安全扫描

在这里插入图片描述

6.6 镜像仓库jdk-镜像层信息

会发现这里镜像层信息与我们 使用dockerfile手动构建JDK11镜像运行容器并校验中的dockerfile文件内容大致相同。
在这里插入图片描述

七、总结

docker images 各参数说明:
REPOSITORY:表示镜像的仓库源名
TAG:镜像的标签或版本
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小1、同一镜像仓库源可以有多个 TAG,代表这个仓库源的不同个版本,如 jdk仓库源里,有 111213....20 等多个不同的版本,我们使用 REPOSITORY:TAG 来定义并区分不同的镜像,例如jdk:11,jdk:12,jdk:13,jdk:20等。2、所以一个镜像仓库只存放一种镜像,镜像仓库名要见名知意,如镜像仓库jdk,就知道这个镜像仓库存放的是jdk11版本。
registry.cn-hangzhou.aliyuncs.com/2023815_djc/jdk:11 如镜像仓库mysql,就知道这个镜像仓库存放的是mysql:8.0.29和mysql:8.0.31 
这两个版本。
registry.cn-hangzhou.aliyuncs.com/2023815_djc/mysql:8.0.29
registry.cn-hangzhou.aliyuncs.com/2023815_djc/mysql:8.0.31 
如图一、图二所示。3、所以rep2023815中存放了好几种镜像,mysql,jdk,nginx,是错误的存放方式,容易无法区分镜像,如图一、图二所示。
//jdk  
registry.cn-hangzhou.aliyuncs.com/2023815_djc/rep2023815:11
//mysql
registry.cn-hangzhou.aliyuncs.com/2023815_djc/rep2023815:v8.0.31  
//nginx
registry.cn-hangzhou.aliyuncs.com/2023815_djc/rep2023815:v1.21.64、所以镜像仓库名一般写成应用名就可以了,如mysql,oracle,jdk等。5、发现推送到Registry(某镜像仓库)后会在本地也生成一个相同IMAGE ID的镜像,如图一、图二所示。

7.1 图一如下

在这里插入图片描述

7.2 图二如下

图一

八、容器镜像服务ACR个人版产品功能调整公告 相关(2023年8月20日)

容器镜像服务ACR个人版产品功能调整公告 更新时间:2023-06-26 14:25
尊敬的阿里云容器镜像服务ACR用户:
容器镜像服务ACR计划从2023年8月20日起取消容器镜像服务ACR个人版的镜像安全扫描、镜像同步功能,如果有镜像安全及跨地域镜像高效分发需求,建议提前规划迁移至容器镜像服务ACR企业版实例。具体操作,请参见个人版迁移。

变更内容
自2023年8月20日起,容器镜像服务ACR个人版镜像安全扫描、镜像同步功能将不再支持发起新任务,所有已执行完成的任务将不再支持查询任务状态及详情。请及时关注本次产品变更内容,以免影响您的后续使用,感谢您的配合。

在这里插入图片描述2023-8-18 05:27:45
个人版迁移
访问VPC的服务关联角色
个人版实例镜像导入到企业版实例
使用个人版域名访问企业版实例

【转载aliyun官方-容器镜像服务 ACR】Docker常见问题
使用dockerfile手动构建JDK11镜像运行容器并校验

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

xcode14.3更新一系列问题

1. Missing file libarclite_iphoneos.a (Xcode 14.3) 解决方法 Xcode升级到14.3后编译失败,完整错误日志: File not found: /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneo…

简单介绍 CPU 的工作原理

内部架构 CPU 的根本任务就是执行指令,对计算机来说最终都是一串由 0 和 1 组成的序列。CPU 从逻辑上可以划分成 3 个模块,分别是控制单元、运算单元和存储单元 。其内部架构如下: 【1】控制单元 控制单元是整个CPU的指挥控制中心&#xff…

HarmonyOS/OpenHarmony应用开发-ArkTS语言渲染控制LazyForEach数据懒加载

LazyForEach从提供的数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。当LazyForEach在滚动容器中使用了,框架会根据滚动容器可视区域按需创建组件,当组件划出可视区域外时,框架会进行组件销毁回收以降低内存占用。一、接…

【计算机视觉|生成对抗】StackGAN:使用堆叠生成对抗网络进行文本到照片逼真图像合成

本系列博文为深度学习/计算机视觉论文笔记,转载请注明出处 标题:StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks 链接:[1612.03242] StackGAN: Text to Photo-realistic Image Synthesis…

[Mac软件]Pixelmator Pro 3.3.12 专业图像编辑中文版

Pixelmator Pro是专为Mac设计的功能强大,美观且易于使用的图像编辑器。借助广泛的专业级无损图像编辑工具,Pixelmator Pro可使您发挥出最佳的照片效果,创建华丽的构图和设计,绘制,绘画,应用令人惊叹的效果&…

scala中json4s 使用详解

预备知识 json4s的数据结构AST (Abstract Syntax Tree)。 sealed abstract class JValue case object JNothing extends JValue // zero for JValue case object JNull extends JValue case class JString(s: String) extends JValue case class JDouble(num: Double) extend…

Vulnhub系列靶机--- Hackadmeic.RTB1

系列:Hackademic(此系列共2台) 难度:初级 信息收集 主机发现 netdiscover -r 192.168.80.0/24端口扫描 nmap -A -p- 192.168.80.143访问80端口 使用指纹识别插件查看是WordPress 根据首页显示的内容,点击target 点击…

0822|C++day2 引用+函数重载

一、左值引用(reference) 如果想要实现两个数据的交换,值传递不能交换实参,地址传递可以交换实参,会额外开辟空间 【1】概念 引用其实就是给变量起了一个别名,孙悟空(齐天大圣)C对C的一个最重要的扩充 【2】定义 数据类型 &am…

Leetcode---359周赛

题目列表 2828. 判别首字母缩略词 2829. k-avoiding 数组的最小总和 2830. 销售利润最大化 2831. 找出最长等值子数组 一、判断首字母缩略词 纯模拟&#xff0c;代码如下 class Solution { public:bool isAcronym(vector<string>& words, string s) {string tmp…

Faster RCNN网络数据流总结

前言 在学习Faster RCNN时&#xff0c;看了许多别人写的博客。看了以后&#xff0c;对Faster RCNN整理有了一个大概的了解&#xff0c;但是对训练时网络内部的数据流还不是很清楚&#xff0c;所以在结合这个版本的faster rcnn代码情况下&#xff0c;对网络数据流进行总结。以便…

使用IDEA把Java程序打包成jar

点击左上角File,选择Project Structure 左侧选中Artifacts,点击右侧的号 选择JAR->From modules with dependencies 选择你要运行的main方法所在的类,选好了点击OK Artifacts添加完成后点击右下角OK 在工具栏中找到Build,选择Build Artifacts 刚才创建好的Artifacts,选择Bui…

Python——利用列表推导式实现乘法口诀

直接上代码&#xff1a; print("\n".join([" ".join(["{}*{}{}".format(x, y, x*y) for x in range(1,y1)]) for y in range(1,10)]))结果如下&#xff1a; 1*11 1*22 2*24 1*33 2*36 3*39 1*44 2*48 3*412 4*416 1*55 2*510 3*515 4*520 5*52…

ARM--day7(cortex_M4核LED实验流程、异常源、异常处理模式、异常向量表、异常处理流程、软中断编程、cortex_A7核中断实验)

软中断代码&#xff1a;&#xff08;keil软件&#xff09; .text .global _start _start:1.构建异常向量表b resetb undef_interruptb software_interruptb prefetch_dataabortb data_abortb .b irqb fiq reset:2.系统一上电&#xff0c;程序运行在SVC模式1>>初始化SVC模…

excel中如果A列中某项有多条记录,针对A列中相同的项,将B列值进行相加合并统计

excel中如果A列中某项有多条记录&#xff0c;针对A列中相同的项&#xff0c;将B列值进行相加合并统计。 如&#xff1a; 实现方法&#xff1a; C1、D1中分别输入公式&#xff0c;然后下拉 IF(COUNTIF($A$1:A1,A1)1, A1,"") #A1根据实际情况调整&#xff0c;如果…

从零开始学习YOLOv5 保姆级教程

一、前言 YOLO系列是one-stage且是基于深度学习的回归方法&#xff0c;而R-CNN、Fast-RCNN、Faster-RCNN等是two-stage且是基于深度学习的分类方法。 YOLOv5是一种单阶段目标检测算法&#xff0c;该算法在YOLOv4的基础上添加了一些新的改进思路&#xff0c;使其速度与精度都得…

MPP 还是主流架构吗

MPP 架构&#xff1a; MPP 架构的产品&#xff1a; Impala ClickHouse Druid Doris 很多 OLAP 引擎都采用了 MPP 架构 批处理系统 - 使用场景分钟级、小时级以上的任务&#xff0c;目前很多大型互联网公司都大规模运行这样的系统&#xff0c;稳定可靠&#xff0c;低成本。…

【C++奇遇记】内存模型

&#x1f3ac; 博客主页&#xff1a;博主链接 &#x1f3a5; 本文由 M malloc 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f384; 学习专栏推荐&#xff1a;LeetCode刷题集 数据库专栏 初阶数据结构 &#x1f3c5; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如…

2023年03月 C/C++(三级)真题解析#中国电子学会#全国青少年软件编程等级考试

第1题&#xff1a;和数 给定一个正整数序列&#xff0c;判断其中有多少个数&#xff0c;等于数列中其他两个数的和。 比如&#xff0c;对于数列1 2 3 4, 这个问题的答案就是2, 因为3 2 1, 4 1 3。 时间限制&#xff1a;10000 内存限制&#xff1a;65536 输入 共两行&#x…

2023国赛数学建模B题思路模型代码 高教社杯

本次比赛我们将会全程更新思路模型及代码&#xff0c;大家查看文末名片获取 之前国赛相关的资料和助攻可以查看 2022数学建模国赛C题思路分析_2022国赛c题matlab_UST数模社_的博客-CSDN博客 2022国赛数学建模A题B题C题D题资料思路汇总 高教社杯_2022国赛c题matlab_UST数模社…

svg mask和stroke冲突问题

目录 先说结论各种样例首先是水平、垂直的线然后是斜线如果是图形加stroke呢用《g》标签包起来呢 总结 先说结论 实际上svg里&#xff0c;mask对svg内元素起作用的并非元素本身&#xff0c;而是元素几何形状的外包矩形&#xff0c;特别是和stroke有冲突&#xff0c;会产生奇怪…