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

docker私有镜像仓库的搭建及认证

简介: docker私有镜像仓库的搭建及认证

前言

在生产上使用的 Docker 镜像可能包含我们的代码、配置信息等,不想被外部人员获取,只允许内

网的开发人员下载。

Docker 官方提供了一个叫做 registry 的镜像用于搭建本地私有仓库使用。在内部网络搭建的 Docker 私有仓库可以使内网人员下载、上传都非常快速,不受外网带宽等因素的影响,同时不在内网的人员也无法下载我们的镜像,并且私有仓库也支持配置仓库认证功能。接下来详细讲解 registry 私有仓库的搭建过程。

配置私有仓库(无认证)

拉取私有仓库镜像

docker pull registry

修改配置文件

修改 daemon.json 文件。

添加以下内容,用于让 Docker 信任私有仓库地址,保存退出。

vim /etc/docker/daemon.json

注意json文件,除了最后一行不加逗号,前面的行末尾都要加逗号,否则下面restart将踩坑

{"registry-mirrors":["http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"],"insecure-registries":["192.168.135.10:5000"]
}

重新加载配置信息及重启 Docker 服务。

# 重新加载某个服务的配置文件
sudo systemctl daemon-reload
# 重新启动 docker
sudo systemctl restart docker

创建私有仓库容器

[root@centos8 docker_registry]# docker run -id --name registry -p 5000:5000 -v /root/mydate/docker_registry:/var/lib/registry registry

-v :将容器内 /var/lib/registry 目录下的数据挂载至宿主机 /root/mydate/docker_registry目录下

打开浏览器输入:http://192.168.135.10:5000/v2/_catalog 看到 {“repositories”:[]} 表示私有

仓库搭建成功并且内容为空。

这里的192.168.135.10这个ip即你的Linux的ip,每个人都不同,自己手动查阅

推送镜像至私有仓库

先给镜像设置标签

再将镜像推送至私有仓库

docker tag local-image:tagname new-repo:tagname
docker push new-repo:tagname
[root@centos8 docker_registry]#docker tag mycentos:7 192.168.135.10:5000/mycentos7:1.0
[root@centos8 docker_registry]#docker push 192.168.135.10:5000/mycentos7:1.0[root@centos8 docker_registry]#docker tag hello-world:latest 192.168.135.10:5000/myhelloworld
[root@centos8 docker_registry]#docker push 192.168.135.10:5000/myhelloworld

由于我们做了目录挂载,因此可以在宿主机/root/mydate/docker_registry/docker/registry/v2/repositories目录下查看

[root@centos8 repositories]# pwd
/root/mydate/docker_registry/docker/registry/v2/repositories
[root@centos8 repositories]# ls
mycentos7  myhelloworld

此时无认证情况下拉取镜像

docker pull 192.168.135.10:5000/myhelloworld
[root@centos8 repositories]# docker rmi 192.168.135.10:5000/myhelloworld:latest 
Untagged: 192.168.135.10:5000/myhelloworld:latest
Untagged: 192.168.135.10:5000/myhelloworld@sha256:f54a58bc1aac5ea1a25d796ae155dc228b3f0e11d046ae276b39c4bf2f13d8c4
[root@centos8 repositories]# docker pull 192.168.135.10:5000/myhelloworld
Using default tag: latest
latest: Pulling from myhelloworld
Digest: sha256:f54a58bc1aac5ea1a25d796ae155dc228b3f0e11d046ae276b39c4bf2f13d8c4
Status: Downloaded newer image for 192.168.135.10:5000/myhelloworld:latest
192.168.135.10:5000/myhelloworld:latest
[root@centos8 repositories]# docker images
REPOSITORY                         TAG       IMAGE ID       CREATED        SIZE
mycentos                           7         1b99ed7bf2b5   18 hours ago   525MB
192.168.135.10:5000/mycentos7      1.0       1b99ed7bf2b5   18 hours ago   525MB
redis                              6         7faaec683238   5 days ago     113MB
redis                              latest    7faaec683238   5 days ago     113MB
nginx                              latest    87a94228f133   6 days ago     133MB
192.168.135.10:5000/myhelloworld   latest    feb5d9fea6a5   3 weeks ago    13.3kB
hello-world                        latest    feb5d9fea6a5   3 weeks ago    13.3kB
registry                           latest    b2cb11db9d3d   6 weeks ago    26.2MB

配置私有仓库(认证)

私有仓库已经搭建好了,要确保私有仓库的安全性,还需要一个安全认证证书,防止发生意想不到的事情。所以需要在搭建私有仓库的 Docker 主机上先生成自签名证书。

创建证书存储目录

[root@centos8 /]# mkdir -p /usr/local/registry/certs

生成自签名证书命令

[root@centos8 /]# openssl req -newkey rsa:2048 -nodes -sha256 -keyout /usr/local/registry/certs/domain.key -x509 -days 365 -out /usr/local/registry/certs/domain.crt

openssl req :创建证书签名请求等功能;

-newkey :创建 CSR 证书签名文件和 RSA 私钥文件;

rsa:2048 :指定创建的 RSA 私钥长度为 2048;

-nodes :对私钥不进行加密;

-sha256 :使用 SHA256 算法;

-keyout :创建的私钥文件名称及位置;

-x509 :自签发证书格式;

-days :证书有效期;

-out :指定 CSR 输出文件名称及位置

生成自签名证书

通过 openssl 先生成自签名证书,运行命令以后需要填写一些证书信息,里面最关键的部分是:

Common Name (eg, your name or your server's hostname) []:

这里填写的是私有仓库的地址。如本文即填写192.168.135.10

[root@centos8 /]# openssl req -newkey rsa:2048 -nodes -sha256 -keyout /usr/local/registry/certs/domain.key -x509 -days 365 -out /usr/local/registry/certs/domain.crt
Generating a RSA private key
...........................+++++
............................+++++
writing new private key to '/usr/local/registry/certs/domain.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:cn
State or Province Name (full name) []:cn
Locality Name (eg, city) [Default City]:cn
Organization Name (eg, company) [Default Company Ltd]:cn
Organizational Unit Name (eg, section) []:cn
Common Name (eg, your name or your server's hostname) []:192.168.135.10
Email Address []:68725032@qq.com
[root@centos8 /]# 

生成鉴权密码文件

# 创建存储鉴权密码文件目录
[root@centos8 /]# mkdir -p /usr/local/registry/auth
# 如果没有 htpasswd 功能需要安装 httpd
[root@centos8 /]# yum install -y httpd-tools
# 创建用户和密码 root 和 123
[root@centos8 /]# htpasswd -Bbn root 123 > /usr/local/registry/auth/htpasswd

htpasswd 是 apache http 的基本认证文件,使用 htpasswd 命令可以生成用户及密码文件。

创建私有仓库容器

先把之前创建的无认证的容器删掉

[root@centos8 auth]# docker stop registry
registry
[root@centos8 auth]# docker rm registry 
registry
docker run -id --name registry -p 5000:5000 \
-v /root/mydate/docker_registry:/var/lib/registry \
-v /usr/local/registry/certs:/certs \
-v /usr/local/registry/auth:/auth \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
registry
[root@centos8 auth]# docker run -id --name registry -p 5000:5000 \
> -v /root/mydate/docker_registry:/var/lib/registry \
> -v /usr/local/registry/certs:/certs \
> -v /usr/local/registry/auth:/auth \
> -e "REGISTRY_AUTH=htpasswd" \
> -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
> -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
> -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
> -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
> registry
b6a53df1dfe60ac2ca77b278a315abc59cd20b2a378dbd7cea6d18ddeac92dca
[root@centos8 auth]# docker ps
CONTAINER ID   IMAGE      COMMAND                  CREATED         STATUS         PORTS                                       NAMES
b6a53df1dfe6   registry   "/entrypoint.sh /etc…"   4 minutes ago   Up 4 minutes   0.0.0.0:5000->5000/tcp, :::5000->5000/tcp   registry

推送镜像至私有仓库失败

先给镜像设置标签

再将镜像推送至私有仓库

docker tag local-image:tagname new-repo:tagname
docker push new-repo:tagname
[root@centos8 docker_registry]#docker tag hello-world:latest 192.168.135.10:5000/myhelloworld
[root@centos8 auth]# docker push 192.168.135.10:5000/myhelloworld
Using default tag: latest
The push refers to repository [192.168.135.10:5000/myhelloworld]
e07ee1baac5f: Preparing 
no basic auth credentials

如果直接 push 镜像肯定会失败,并且出现 no basic auth credentials(没有基本的身份验证凭据)的错误,这是因为我们没有进行登录认证。

登录账号

通过 docker login ip:port 命令输入账号密码登录私有仓库

[root@centos8 auth]# docker login 192.168.135.10:5000
Username: root
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded

推送镜像至私有仓库成功

再次 push 镜像,发现已经可以推送成功了

[root@centos8 auth]# docker push 192.168.135.10:5000/myhelloworld
Using default tag: latest
The push refers to repository [192.168.135.10:5000/myhelloworld]
e07ee1baac5f: Layer already exists 
latest: digest: sha256:f54a58bc1aac5ea1a25d796ae155dc228b3f0e11d046ae276b39c4bf2f13d8c4 size: 525

退出账号

通过 docker logout ip:port命令退出账号

[root@centos8 auth]# docker logout 192.168.135.10:5000
Removing login credentials for 192.168.135.10:5000

相关文章:

docker私有镜像仓库的搭建及认证

简介: docker私有镜像仓库的搭建及认证 前言 在生产上使用的 Docker 镜像可能包含我们的代码、配置信息等,不想被外部人员获取,只允许内 网的开发人员下载。 Docker 官方提供了一个叫做 registry 的镜像用于搭建本地私有仓库使用。在内部网…...

simCSE句子向量表示(1)-使用transformers API

SimCSE SimCSE: Simple Contrastive Learning of Sentence Embeddings. Gao, T., Yao, X., & Chen, D. (2021). SimCSE: Simple Contrastive Learning of Sentence Embeddings. arXiv preprint arXiv:2104.08821. 1、huggingface官网下载模型 官网手动下载:pri…...

网络运维的重要性

一、介绍 网络运维,英文名为Network Operations (NetOps),指的是负责维护和管理企业或组织内部网络设备和系统的团队或个人。网络运维的主要目标是确保网络的稳定运行和高效性能,以满足企业或组织的需求。 网络运维工作涵盖了多个方面&…...

还不会使用多线程优化代码执行效率?codefun教你在业务场景中使用CompletableFuture进行优化!

业务场景 我们先来从场景入手,具体的业务是这样的:我们需要从某的省的id去查询这个省份所有的县区,至于什么是县区呢?在DB中我们是这样定义的,也就是字段level 3 的时候,就代表一个县的信息,然后呢&#…...

数据结构-堆(带图)详解

前言 本篇博客我们来仔细说一下二叉树顺序存储的堆的结构,我们来看看堆到底如何实现,以及所谓的堆排序到底是什么 💓 个人主页:普通young man-CSDN博客 ⏩ 文章专栏:数据结构_普通young man的博客-CSDN博客 若有问题 评…...

React Native 之 react-native-share(分享)库 (二十三)

react-native-share 是一个流行的 React Native库,它允许你在移动应用中分享文本、链接、图片等内容到各种社交网络和消息应用。以下是对其原理的简要概述以及代码示例的解析。 代码示例解析 1. 安装 npm install react-native-share # 或者 yarn add react-n…...

JCR一区级 | Matlab实现TCN-BiGRU-MATT时间卷积双向门控循环单元多特征分类预测

JCR一区级 | Matlab实现TCN-BiGRU-MATT时间卷积双向门控循环单元多特征分类预测 目录 JCR一区级 | Matlab实现TCN-BiGRU-MATT时间卷积双向门控循环单元多特征分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.Matlab实现TCN-BiGRU-MATT时间卷积双向门控循环单元多…...

游戏心理学Day01

心理学 心理学是一门研究心理过程和行为及其如何受有机体的生理,心理状态和外部影响的科学 心理学不是常识的代名词,心理学分为基础,心理学和应用心理学基础,心理学研究的目的在于描述,解释,预测和控制行…...

错误模块路径: ...\v4.0.30319\clr.dll,v4.0.30319 .NET 运行时中出现内部错误,进程终止,退出代码为 80131506。

全网唯一解决此BUG的文章!!! 你是否碰到了以下几种问题?先说原因解决思路具体操作1、首先将你C:\Windows\Microsoft.NET\文件夹的所有者修改为你当前用户,我的是administrator。2、修改当前用户权限。3、重启电脑4、删…...

005 CentOS 7.9 RabbitMQ安装及配置

https://github.com/rabbitmq/rabbitmq-server/releases https://www.rabbitmq.com/docs/download https://packagecloud.io/rabbitmq/rabbitmq-server https://www.erlang-solutions.com/downloads/ https://www.erlang.org/ 文章目录 卸载erlerl版本安装与下载版本不匹配正…...

Xcode 15 libarclite 缺失问题

升级到Xcode 15运行项目报错,报错信息如下: SDK does not contain libarclite at the path /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphonesimulator.a; try increasing the minimum d…...

绘画智能体分享

这是您请求的故宫雪景图,角落有一只可爱的胖猫,采用了水墨画风格,类似于张大千的作品。希望您喜欢这幅画! 🎨 选项 1【转变风格】——将这幅画转变为梵高的后印象派风格,增添一些梵高特有的笔触和色彩。 &…...

7_2、C++程序设计进阶:数据共享

数据与函数 数据与函数局部变量全局变量类的数据成员 类的静态成员静态数据成员静态函数成员 友元友元函数友元类 函数之间实现数据共享有以下几种方式:局部变量、全局变量、类的数据成员、类的静态成员和友元。 如何共享局部变量呢? 在主调函数和被调…...

d2-crud-plus 使用小技巧(五)—— 搜索时间(或下拉列表)后,点击X清除按钮后返回值为null,导致异常

问题 使用vue2elementUId2-crud-plus,时间组件自动清除按钮,点击清除按钮后对应的值被设置为null,原本应该是空数组([]),导致数据传到后端后报错。不仅适用于搜索,表单一样有效果。 解决方法 …...

ChatGPT成知名度最高生成式AI产品,使用频率却不高

5月29日,牛津大学、路透社新闻研究所联合发布了一份生成式AI(AIGC)调查报告。 在今年3月28日—4月30日对美国、英国、法国、日本、丹麦和阿根廷的大约12,217人进行了调查,深度调研他们对生成式AI产品的应用情况。 结果显示&…...

R19 NR移动性增强概况

随着5G/5G-A技术不断发展和业务需求的持续增强,未来网络的部署将不断向高频演进。高频小区的覆盖范围小,用户将面临更为频繁的小区选择、重选、切换等移动性过程。 为了提升网络移动性能和保障用户体验,移动性增强一直是3GPP的热点课题。从NR…...

C语言:如何写文档注释、内嵌注释、行块注释?

技术答疑流程 扫描二维码,添加个人微信;支付一半费用,获取答案;如果满意,则支付另一半费用; 知识点费用:10元 项目费用:如果有项目任务外包需求,可以微信私聊...

Turtle中circle用法详解

在Python的Turtle图形库中,circle方法是一个非常灵活的工具,它允许我们以简单的方式绘制圆或圆的一部分。本文将深入探讨circle方法,特别关注radius和extent参数的用途及其正负值的意义。 一、circle方法概览 首先,让我们了解一…...

stack和queue(1)

一、stack的简单介绍和使用 1.1 stack的介绍 1.stack是一种容器适配器,专门用在具有先进后出,后进先出操作的上下文环境中,其删除只能从容器的一端进行元素的插入和弹出操作。 2.stack是作为容器适配器被实现的,容器适配器即是…...

前端3剑客(第1篇)-初识HTML

100编程书屋_孔夫子旧书网 当今主流的技术中,可以分为前端和后端两个门类。 前端:简单的理解就是和用户打交道 后端:主要用于组织数据 而前端就Web开发方向来说, 分为三门语言, HTML、CSS、JavaScript 语言作用HT…...

植被变化趋势线性回归以及可视化

目录 植被变化线性回归ee.Reducer.linearFit().reduce()案例:天水市2004-2023年EVI线性回归趋势在该图中,使用了从红色到蓝色的渐变来表示负趋势到正趋势。红色代表在某段时间中,植被覆盖减少,绿色表示持平,蓝色表示植被覆盖增加。 植被变化线性回归 该部分参考Google…...

大话设计模式学习笔记

目录 工厂模式策略模式备忘录模式(快照模式)代理模式单例模式迭代器模式访问者模式观察者模式解释器模式命令模式模板方法模式桥接模式适配器模式外观模式享元模式原型模式责任链模式中介者模式装饰模式状态模式 工厂模式 策略模式 核心:封装…...

MiniMax公司介绍

MiniMax是一家专注于通用人工智能技术的科技公司,成立于2021年12月。公司致力于成为通用人工智能时代基础设施建设者和内容应用创造者,积极投身于中国人工智能技术高速发展的时代大潮。MiniMax的团队由多位在人工智能领域有着丰富经验的专家组成&#xf…...

lucene 9.10向量检索基本用法

Lucene 9.10 中的 KnnFloatVectorQuery 是用来执行最近邻(k-Nearest Neighbors,kNN)搜索的查询类,它可以在一个字段中搜索与目标向量最相似的k个向量。以下是 KnnFloatVectorQuery 的基本用法和代码示例。 1. 索引向量字段 首先…...

【2023百度之星初赛】跑步,夏日漫步,糖果促销,第五维度,公园,新材料,星际航行,蛋糕划分

目录 题目:跑步 思路: 题目:夏日漫步 思路: 题目:糖果促销 思路: 题目:第五维度 思路: 题目:公园 思路: 新材料 思路: 星际航行 思路…...

vs2019 QT UI 添加新成员或者控件代码不提示问题解决方法

右键点击头文件,添加ui的头文件 添加现有项 找到uic目录的头文件 打开ui,QtWidgetsApplication2.ui,进行测试 修改一个名字: 重点: 设置一个布局: 点击生成解决方案: 以后每次添加控件后,记得点击保存 这样…...

【面试八股总结】MySQL事务:事务特性、事务并行、事务的隔离级别

参考资料:小林coding 一、事务的特性ACID 原子性(Atomicity) 一个事务是一个不可分割的工作单位,事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。原子性是通过 undo …...

STL用法总结

文章目录 vector构造常用函数遍历适用情形注意事项使用迭代器删除可能会出现的错误 Set & MultiSet(不能用sort,会自动排序)构造常用函数删除,查找遍历 unordered_set(不排序集合),unordered_multiset Map & M…...

他人项目二次开发——慎接

接了一个朋友的项目——开发及运营迭代差不多2年多了,整体样子移动端和PC都能正常使用,但后期的扩展性及新功能添加出现瓶颈。 因此给了一部分钱,让我接手来开发——重构架构。 背景说明 朋友公司的技术人员是我帮忙招聘的,相关技…...

k8s之PV、PVC

文章目录 k8s之PV、PVC一、存储卷1、存储卷定义2、存储卷的作用2.1 数据持久化2.2 数据共享2.3 解耦2.4 灵活性 3、存储卷的分类3.1 emptyDir存储卷3.1.1 定义3.1.2 特点3.1.3 用途3.1.4 示例 3.2 hostPath存储卷3.2.1 定义3.2.2 特点3.2.3 用途3.2.4 示例 3.3 NFS存储卷3.3.1 …...

新人学习笔记之(JavaScript作用域)

一、作用域 1.通常来说,一段程序代码中所用的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突 二、变量的作用域 1.变…...

图论第一天

在单位摸鱼,地铁上看了个开始,图论开了个头,后面也希望能往这个方向上转,努努力吧。 一周没做题啦,后面坚持继续做题+二刷,接着记录每一天!!!加油&#xff0…...

革新风暴来袭:报事报修系统小程序如何重塑报事报修体验?

随着数字化、智能化的发展,已经应用在我们日常生活和工作的方方面面。那么,你还在为物业报修而头疼吗?想象一下,家里的水管突然爆裂,你急忙联系物业,时常面临物业电话忙音、接听后才进行登记繁琐的报修单、…...

linux各个日志的含义 以及使用方法

在Linux系统上,系统日志文件通常存储在/var/log/目录下。可以通过查看这些日志文件来了解系统的操作记录、错误信息和其他相关信息。以下是一些常见的系统日志文件以及它们包含的信息: /var/log/messages:这是一个常见的系统日志文件&#xf…...

详解 Spark 核心编程之 RDD 持久化

一、问题引出 /** 案例:对同一份数据文件分别做 WordCount 聚合操作和 Word 分组操作 期望:针对数据文件只进行一次分词、转换操作得到 RDD 对象,然后再对该对象分别进行聚合和分组,实现数据重用 */ object TestRDDPersist {def …...

创新融合,5G+工业操作系统引领未来工厂

为加速企业完成生产制造自动化和经营管理自动化,从而走向未来工厂,蓝卓不断探索supOS工业操作系统与前沿技术的的创新融合,而5G技术为工业操作系统提供了更多元化的赋能手段和想象空间。目前,supOS围绕生产、安全、质检、监控等领…...

自监督表示学习和神经音频合成实现语音修复

关键词:语音修复、自监督模型、语音合成、语音增强、神经声码器 语音和/或音频修复的目标是增强局部受损的语音和/或音频信号。早期的工作基于信号处理技术,例如线性预测编码、正弦波建模或图模型。最近,语音/音频修复开始使用深度神经网络&a…...

【论文复现|智能算法改进】融合黑寡妇思想的蜣螂优化算法

目录 1.算法原理2.改进点3.结果展示4.参考文献5.代码获取 1.算法原理 【智能算法】蜣螂优化算法(DBO)原理及实现 2.改进点 ICMIC混沌映射 z n 1 sin ⁡ ( α z n ) , α ∈ ( 0 , ∞ ) (1) z_{n1}\sin(\frac{\alpha}{z_n}),\alpha\in(0,\infty)\ta…...

Unity + 雷达 粒子互动(待更新)

效果预览: 花海(带移动方向) VFX 实例 脚本示例 使用TouchScript,计算玩家是否移动,且计算移动方向 using System.Collections; using System.Collections.Generic; using TouchScript; using TouchScript.Pointers; using UnityEngine; using UnityEngine.VFX;public …...

英语翻译程序,可以对用户自己建立的词汇表进行增删查改

⑴ 自行建立一个包含若干英文单词的词汇表文件,系统初始化时导入内存,用于进行句子翻译。 ⑵ 用户可以输入单词或者句子,在屏幕上显示对应翻译结果。 ⑶ 用户可对词汇表进行添加和删除,并能将更新的词汇表存储到文件中。 #defi…...

Django ORM魔法:用Python代码召唤数据库之灵!

探索Django ORM的神奇世界,学习如何用Python代码代替复杂的SQL语句,召唤数据库之灵,让数据管理变得轻松又有趣。从基础概念到高级技巧,阿佑带你一步步成为Django ORM的魔法师,让你的应用开发速度飞起来! 文…...

JetBrains Mono字体下载及安装

百度云字体下载 提取码:zida 1.mac 安装 选择文件夹中的所有字体文件,然后双击它们。点击“安装字体”按钮。 2.windows 安装 选择文件夹中的字体文件,右键单击其中任何一个,然后从菜单中选择“安装”。 3.linux 安装 将字体…...

【OS】AUTOSAR OS系统调用产生Trap的过程详解

目录 前言 正文 1.Os_Hal_Trap使用示例 2. Os_Hal_Trap的定义 3. syscall详解详解...

Java中的异常处理机制

在Java中,异常处理是一种重要的编程机制,用于处理程序运行时可能出现的错误情况。它提供了一种结构化的方式来处理异常情况,使程序能够更健壮、更易于维护。下面将从技术难点、面试官关注点、回答吸引力和代码举例四个方面来详细描述Java中的…...

什么是PLAB?

接上文PLAB---》 可以看到和TLAB很像,PLAB即 Promotion Local Allocation Buffers。用在年轻代对象晋升到老年代时。 在多线程并行执行YGC时,可能有很多对象需要晋升到老年代,此时老年代的指针就"热"起来了,于是搞了个…...

复试不考机试,初试300分以上,上岸稳了?东北林业大学计算机考研考情分析!

东北林业大学(Northeast Forestry University),简称东北林大(NEFU),位于黑龙江省哈尔滨市,是一所以林科为优势、林业工程为特色的中华人民共和国教育部直属高校,由教育部、国家林业局…...

【30天精通Prometheus:一站式监控实战指南】第12天:windows_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细

亲爱的读者们👋   欢迎加入【30天精通Prometheus】专栏!📚 在这里,我们将探索Prometheus的强大功能,并将其应用于实际监控中。这个专栏都将为你提供宝贵的实战经验。🚀   Prometheus是云原生和DevOps的…...

微信小程序的事件绑定方式

微信小程序的事件绑定方式主要包括以下几种,每种方式都有其特定的用法和特性: 基础绑定方式: bind:这是最基础的绑定方式,用于绑定事件处理函数。例如,bindtap用于绑定点击事件。当组件触发事件时&#xf…...

AR和AP重分类(Regroup)[FAGLF101/OBBU/OBBV]

一、为什么AR和AP科目需要重分类 1.1 执行操作的前提(重要) 存在AR的当月总余额在贷方(客户贷项凭证、预收账款等)或AP的当月总余额在借方(供应商贷项凭证、预收账款等),这种情况下无法真实的反映出资产和负债情况&…...

进程——linux

目录 冯诺依曼体系结构(计算机组成原理与体系结构) 关于冯诺依曼,必须强调几点: 操作系统(Operator System) 概念 设计OS的目的 定位 如何理解 "管理" 总结 系统调用和库函数概念 承上启下 一、进程 基本概念…...