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

Docker从认识到实践再到底层原理(五)|Docker镜像

在这里插入图片描述

前言

那么这里博主先安利一些干货满满的专栏了!

首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。

  • 高质量博客汇总

然后就是博主最近最花时间的一个专栏《Docker从认识到实践再到底层原理》希望大家多多关注!

  • Docker从认识到实践再到底层原理

第五章-镜像

Docker镜像是什么

  • Docker image本质上是一个read-only只读文件,这个文件包含了文件系统源码、库文件、依赖、工具等一些运行行application 所必须的文件。

  • 我们可以把 Docker image 理解成一个模板,可以通过这个模板实例化出来很多容器。

  • image 里面是一层层文件系统Union FS。联合文件系统,可以将几层目录挂载到一起,形成一个虚拟文件系统。

每一层文件系统我们叫做一层 layer,联合文件系统可以对每一层文件系统设置三 种权限,只读(readonly)、读写(readwrite)和写出(whiteout-able),但是 docker 镜像中每一层文件系统都是只读的。

构建镜像的时候,从一个最基本的操作系统开始,每个构建的操作都相当于做一层 的修改,增加了一层文件系统。一层层往上叠加,上层的修改会覆盖底层该位置的可见性,这也很容易理解,就像上层把底层遮住了一样。当你使用的时候,你只会看到 一个完全的整体,你不知道里面有几层,也不清楚每一层所做的修改是什么。

镜像命令详解

命令清单

命令别名功能
docker imagesdocker image ls / docker image list列出本地镜像
docker tagdocker image tag给镜像打标签, 可用于推送镜像仓库
docker pulldocker image pull从镜像仓库拉取镜像
docker pushdocker image push推送镜像到仓库
docker rmidocker image rm / docker image remove删除本地镜像
docker builddocker image build通过 dockerfile制作镜像
docker savedocker image save将制定镜像保存成tar归档文件
docker loaddocker image load导入使用 docker save 导出的镜像
docker image inspect查看镜像的详细信息
docker historydocker image history查看镜像历史
docker importdocker image import从归档文件 docker export 中创建镜像
docker image prune删除不使用的镜 像

在这一章,我们只详细介绍上面的部分命令,有一些我们会到特定的章节详细讲解。

docker rmi

删除本地某个镜像。

docker rmi [OPTIONS] IMAGE [IMAGE...]

关键参数。

-f : 强制删除
-no-prune : 不移除该镜像的过程镜像,默认移除

docker save 和 docker load

docker save [OPTIONS] IMAGE [IMAGE...] # -o :输出到的文件
docker save -o mybusybox.tar busybox:1.36.0 # 保存这个镜像文件

在这里插入图片描述
现在可以把这个镜像加载回来。

docker load [OPTIONS]

关键参数

--input, -i : 指定导入的文件,代替 STDIN。
--quiet, -q : 精简输出信息。

在这里插入图片描述

docker history

docker history [OPTIONS] IMAGE
-H, --human : 大小和日期采用人容易读的格式展现
--no-trunc : 显示全部信息,不要隔断;
-q, --quiet : 只显示镜像 id 信息;

在这里插入图片描述

其他参数大家都可以尝试。

docker image prune

删除不使用的镜像。

-a, --all : 删除全部不使用的镜像;
--filter filter : 指定过滤条件;
-f, --force : 不提示是否删除;
[root@ALiCentos7:/home/yufc/Src/Bit-Courses/DockerSrc/test]$ docker images
REPOSITORY                    TAG             IMAGE ID       CREATED         SIZE
nginx                         1.24.0          bf09be6b0005   2 weeks ago     142MB
nginx                         1.25.2          eea7b3dcba7e   2 weeks ago     187MB
yufcbagpack/my-bit-nginx      1.25.2          eea7b3dcba7e   2 weeks ago     187MB
busybox                       1.36.0          af2c3e96bcf1   3 months ago    4.86MB
yufcbagpack/busybox-by-yufc   v1.0            af2c3e96bcf1   3 months ago    4.86MB
centos                        7               eeb6ee3f44bd   23 months ago   204MB
nginx                         1.18.0-alpine   684dbf9f01f3   2 years ago     21.9MB
[root@ALiCentos7:/home/yufc/Src/Bit-Courses/DockerSrc/test]$ docker image prune -a
WARNING! This will remove all images without at least one container associated to them.
Are you sure you want to continue? [y/N] y
Deleted Images:
untagged: busybox:1.36.0
untagged: busybox@sha256:9e2bbca079387d7965c3a9cee6d0c53f4f4e63ff7637877a83c4c05f2a666112
untagged: yufcbagpack/busybox-by-yufc:v1.0
untagged: yufcbagpack/busybox-by-yufc@sha256:086417a48026173aaadca4ce43a1e4b385e8e62cc738ba79fc6637049674cac0
deleted: sha256:af2c3e96bcf1a80da1d9b57ec0adc29f73f773a4a115344b7e06aec982157a33
deleted: sha256:1f1d08b81bbe3cb8d730d2e163d6737b4352192712b1f1548720dc224f6cac06
untagged: nginx:1.18.0-alpine
untagged: nginx@sha256:93baf2ec1bfefd04d29eb070900dd5d79b0f79863653453397e55a5b663a6cb1
deleted: sha256:684dbf9f01f3250437d595669c7437c202573798ab34247d50338ff630e58b6a
deleted: sha256:c2de14d9781a9624082602f51baa465d1904cf681e8209bec5e0a40054897f49
deleted: sha256:6774274a318ea7dfe5fb9dd3fe1f625e463352ba889f6f9fb2222e4783bcd209
deleted: sha256:485b3a00a3b7092170c9612a95637ee7e1ff6b6bdc915c5131eb07983d02171d
deleted: sha256:c5ddcad13e93c4e6d6cf10c03bf14f0a8fc8a2a5435b87e300394fbc9977a02c
deleted: sha256:9a5d14f9f5503e55088666beef7e85a8d9625d4fa7418e2fe269e9c54bcb853c
untagged: nginx:1.25.2
untagged: nginx@sha256:104c7c5c54f2685f0f46f3be607ce60da7085da3eaa5ad22d3d9f01594295e9c
untagged: yufcbagpack/my-bit-nginx:1.25.2
untagged: yufcbagpack/my-bit-nginx@sha256:48a84a0728cab8ac558f48796f901f6d31d287101bc8b317683678125e0d2d35
deleted: sha256:eea7b3dcba7ee47c0d16a60cc85d2b977d166be3960541991f3e6294d795ed24
deleted: sha256:589bcc284f24d6548cd3cef06ace5f6ebc4f23a48a5763f2f9d3d30b0f9dadf5
deleted: sha256:b3addc7069fafd183d88d1a40bb3dfe51227d45e4fe8e59b81a2fda7614ebbc1
deleted: sha256:5bf28af6a2188fa2d657e451213761b03e115e4c24ee72c41da34a241fe81ca1
deleted: sha256:2496134da21702d935bee1334ae42baf26d0197af91275e5c1a11eee31299121
deleted: sha256:c7e60968a54882c23483c3acb0ff1f415ce0f98184dfbed3fb9080447d79b313
deleted: sha256:49bfd4a4ea578aefcacdfd87efdc4999d6a4e4b7f00322484cac67ff7671389e
deleted: sha256:511780f88f80081112aea1bfdca6c800e1983e401b338e20b2c6e97f384e4299
untagged: centos:7
untagged: centos@sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4
deleted: sha256:eeb6ee3f44bd0b5103bb561b4c16bcb82328cfe5809ab675bb17ab3a16c517c9
deleted: sha256:174f5685490326fc0a1c0f5570b8663732189b327007e47ff13d2ca59673db02
untagged: nginx:1.24.0
untagged: nginx@sha256:a195f9fb6503531660b25f9aeefef1f48bbaf56f46da04bffe1568abb3d3aff6
deleted: sha256:bf09be6b0005cc81d4cc3c3cf836c84450e92a7c4dcb2e2e31d84843ff3d6c62
deleted: sha256:ff7c49c7e5d3258f6e702b5259ac2bdc8986bb04b24b2b7117925b4d26844596
deleted: sha256:7c0b5de76892cd4ea9baac2b125bfafa689f059f1a160993549208d348789473
deleted: sha256:06409bd4a1a7f2e234292dfeba96fb76d9cff1256e41e5df13d38a6f47488aa3
deleted: sha256:401de303ad1d4c865aab0018974df56eb349a04fdfb88a8e4c5c91fa1036a03f
deleted: sha256:5d87999cc8379e200e5702df879ba59805993578ac8cc20c4376d84274ab79f5
deleted: sha256:63290f9c9e5201f0507ee1b5701aa06c7f48bef7cce287fc77db92bec634d737Total reclaimed space: 559.5MB
[root@ALiCentos7:/home/yufc/Src/Bit-Courses/DockerSrc/test]$ docker images
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE
[root@ALiCentos7:/home/yufc/Src/Bit-Courses/DockerSrc/test]$ 

镜像操作案例

实战流程如下所示。

查找镜像
下载镜像
查看镜像及列表存储位置
查看镜像详情
查看镜像详情
查看镜像分层
打标签
推送镜像
运行容器
镜像删除

查找镜像

docker search busybox

在这里插入图片描述

下载镜像

docker pull busybox:1.36.0

下载成功。

[root@ALiCentos7:/home/yufc/Src/Bit-Courses/DockerSrc/test]$ docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
busybox      1.36.0    af2c3e96bcf1   3 months ago   4.86MB
[root@ALiCentos7:/home/yufc/Src/Bit-Courses/DockerSrc/test]$

查看镜像及列表存储位置

东西存在这。

cd /data/var/lib/docker # 我们改过的,要记得哦
[root@ALiCentos7:/data/var/lib/docker]$ ll
total 44
drwx--x--x 4 root root 4096 Sep  1 20:57 buildkit
drwx--x--- 2 root root 4096 Sep  5 22:18 containers
-rw------- 1 root root   36 Sep  1 20:57 engine-id
drwx------ 3 root root 4096 Sep  1 20:57 image
drwxr-x--- 3 root root 4096 Sep  1 20:57 network
drwx--x--- 4 root root 4096 Sep  5 22:45 overlay2
drwx------ 4 root root 4096 Sep  1 20:57 plugins
drwx------ 2 root root 4096 Sep  1 20:57 runtimes
drwx------ 2 root root 4096 Sep  1 20:57 swarm
drwx------ 2 root root 4096 Sep  5 22:45 tmp
drwx-----x 2 root root 4096 Sep  1 20:57 volumes
[root@ALiCentos7:/data/var/lib/docker]$ cd image/
[root@ALiCentos7:/data/var/lib/docker/image]$ ls
overlay2
[root@ALiCentos7:/data/var/lib/docker/image]$ cd overlay2/
[root@ALiCentos7:/data/var/lib/docker/image/overlay2]$ ls
distribution  imagedb  layerdb  repositories.json
[root@ALiCentos7:/data/var/lib/docker/image/overlay2]$ cat repositories.json 
{"Repositories":{"busybox":{"busybox:1.36.0":"sha256:af2c3e96bcf1a80da1d9b57ec0adc29f73f773a4a115344b7e06aec982157a33","busybox@sha256:9e2bbca079387d7965c3a9cee6d0c53f4f4e63ff7637877a83c4c05f2a666112":"sha256:af2c3e96bcf1a80da1d9b57ec0adc29f73f773a4a115344b7e06aec982157a33"}}}[root@ALiCentos7:/data/var/lib/docker/image/overlay2]$ 

关注这里面的一个一个文件夹,/data/var/lib/docker/image/overlay2/这里面存的是docker的存储驱动。

我们可以看下repositories.json 这里面的内容。

{"Repositories": {"busybox": {"busybox:1.36.0": "sha256:af2c3e96bcf1a80da1d9b57ec0adc29f73f773a4a115344b7e06aec982157a33","busybox@sha256:9e2bbca079387d7965c3a9cee6d0c53f4f4e63ff7637877a83c4c05f2a666112": "sha256:af2c3e96bcf1a80da1d9b57ec0adc29f73f773a4a115344b7e06aec982157a33"}}
}

可以看到我们是有一个busybox镜像的。

所以东西是存在这里的,列表是在这里面的。

也可以通过这个命令查看镜像的详情。

docker image inspect busybox:1.36.0

当然dockerhub上也可以看这些信息。

查看镜像分层

docker history busybox:1.36.0
[root@ALiCentos7:/data/var/lib/docker/image/overlay2]$ docker history busybox:1.36.0 
IMAGE          CREATED        CREATED BY                                      SIZE      COMMENT
af2c3e96bcf1   3 months ago   /bin/sh -c #(nop)  CMD ["sh"]                   0B        
<missing>      3 months ago   /bin/sh -c #(nop) ADD file:c22c6617fa9a85e0d…   4.86MB    
[root@ALiCentos7:/data/var/lib/docker/image/overlay2]$ 

打标签

docker tag busybox:1.36.0 yufcbagpack/busybox-by-yufc:v2.0

推送镜像

docker push yufcbagpack/busybox-by-yufc:v2.0

在这里插入图片描述

运行容器

先查看现在有的镜像。

[root@ALiCentos7:/data/var/lib/docker/image/overlay2]$ docker images
REPOSITORY                    TAG       IMAGE ID       CREATED        SIZE
busybox                       1.36.0    af2c3e96bcf1   3 months ago   4.86MB
yufcbagpack/busybox-by-yufc   v2.0      af2c3e96bcf1   3 months ago   4.86MB
[root@ALiCentos7:/data/var/lib/docker/image/overlay2]$ 

运行容器。

[root@ALiCentos7:/data/var/lib/docker/image/overlay2]$ docker run -it yufcbagpack/busybox-by-yufc:v2.0 sh
/ # 

在这里插入图片描述

现在就启动这个镜像了。

删除这个镜像

docker rmi yufcbagpack/busybox-by-yufc:v2.0

在这里插入图片描述

我们可以发现,其实不是删除了这个镜像,而是只是去除了标签而已。

docker rm 进一步删除

在这里插入图片描述

镜像仓库实战

实战一:离线迁移镜像

现有的镜像如下。

在这里插入图片描述

在这里插入图片描述

保存下来。

把这个tar包发到另一台服务器后(可以使用scp命令)

然后在另一台服务器使用docker load -i载入这个镜像即可。

实战二:镜像存储的压缩与共享

先拉一个镜像下来。

docker pull nginx:1.21.4
[root@ALiCentos7:/home/yufc/Src/Bit-Courses/DockerSrc/test]$ docker pull nginx:1.21.4
1.21.4: Pulling from library/nginx
a2abf6c4d29d: Pull complete 
f3409a9a9e73: Pull complete 
9919a6cbae9c: Pull complete 
fc1ce43285d7: Pull complete 
1f01ab499216: Pull complete 
13cfaf79ff6d: Pull complete 
Digest: sha256:366e9f1ddebdb844044c2fafd13b75271a9f620819370f8971220c2b330a9254
Status: Downloaded newer image for nginx:1.21.4
docker.io/library/nginx:1.21.4
[root@ALiCentos7:/home/yufc/Src/Bit-Courses/DockerSrc/test]$

在这里插入图片描述

我们发现拉到本地是141MB

我们看看hub上的大小。

在这里插入图片描述

所以,在hub上肯定是进行了一定的压缩的。

相关文章:

Docker从认识到实践再到底层原理(五)|Docker镜像

前言 那么这里博主先安利一些干货满满的专栏了&#xff01; 首先是博主的高质量博客的汇总&#xff0c;这个专栏里面的博客&#xff0c;都是博主最最用心写的一部分&#xff0c;干货满满&#xff0c;希望对大家有帮助。 高质量博客汇总 然后就是博主最近最花时间的一个专栏…...

【Flowable】任务监听器(五)

前言 之前有需要使用到Flowable&#xff0c;鉴于网上的资料不是很多也不是很全也是捣鼓了半天&#xff0c;因此争取能在这里简单分享一下经验&#xff0c;帮助有需要的朋友&#xff0c;也非常欢迎大家指出不足的地方。 一、监听器 在Flowable中&#xff0c;我们可以使用监听…...

spring-kafka中ContainerProperties.AckMode详解

近期&#xff0c;我们线上遇到了一个性能问题&#xff0c;几乎快引起线上故障&#xff0c;后来仅仅是修改了一行代码&#xff0c;性能就提升了几十倍。一行代码几十倍&#xff0c;数据听起来很夸张&#xff0c;不过这是真实的数据&#xff0c;线上错误的配置的确有可能导致性能…...

【rpc】Dubbo和Zookeeper结合使用,它们的作用与联系(通俗易懂,一文理解)

目录 Dubbo是什么&#xff1f; 把系统模块变成分布式&#xff0c;有哪些好处&#xff0c;本来能在一台机子上运行&#xff0c;为什么还要远程调用 Zookeeper是什么&#xff1f; 它们进行配合使用时&#xff0c;之间的关系 服务注册 服务发现 动态地址管理 Dubbo是…...

ChatGPT的未来

随着人工智能的快速发展&#xff0c;ChatGPT作为一种自然语言生成模型&#xff0c;在各个领域都展现出了巨大的潜力。它不仅可以用于日常对话、创意助手和知识查询&#xff0c;还可以应用于教育、医疗、商业等各个领域&#xff0c;为人们带来更多便利和创新。 在教育领域&#…...

Pytorch模型转ONNX部署

开始以为会很困难&#xff0c;但是其实非常方便&#xff0c;下边分两步走&#xff1a;1. pytorch模型转onnx&#xff1b;2. 使用onnx进行inference 0. 准备工作 0.1 安装onnx 安装onnx和onnxruntime&#xff0c;onnx貌似是个环境。。倒是没有直接使用&#xff0c;onnxruntim…...

k8s优雅停服

在应用程序的整个生命周期中&#xff0c;正在运行的 pod 会由于多种原因而终止。在某些情况下&#xff0c;Kubernetes 会因用户输入&#xff08;例如更新或删除 Deployment 时&#xff09;而终止 pod。在其他情况下&#xff0c;Kubernetes 需要释放给定节点上的资源时会终止 po…...

面试题五:computed的使用

题记 大部分的工作中使用computed的频次很低的&#xff0c;所以今天拿出来一文对于computed进行详细的介绍&#xff0c;因为Vue的灵魂之一就是computed。 模板内的表达式非常便利&#xff0c;但是设计它们的初衷是用于简单运算的。在模板中放入太多的逻辑会让模板过重且难以维护…...

完美的分布式监控系统 Prometheus与优雅的开源可视化平台 Grafana

1、之间的关系 prometheus与grafana之间是相辅相成的关系。简而言之Grafana作为可视化的平台&#xff0c;平台的数据从Prometheus中取到来进行仪表盘的展示。而Prometheus这源源不断的给Grafana提供数据的支持。 Prometheus是一个开源的系统监控和报警系统&#xff0c;能够监…...

黑马JVM总结(九)

&#xff08;1&#xff09;StringTable_调优1 我们知道StringTable底层是一个哈希表&#xff0c;哈希表的性能是跟它的大小相关的&#xff0c;如果哈希表这个桶的个数比较多&#xff0c;元素相对分散&#xff0c;哈希碰撞的几率就会减少&#xff0c;查找的速度较快&#xff0c…...

如何使用 RunwayML 进行创意 AI 创作

标题&#xff1a;如何使用 RunwayML 进行创意 AI 创作 介绍 RunwayML 是一个基于浏览器的人工智能创作工具&#xff0c;可让用户使用各种 AI 功能来生成图像、视频、音乐、文字和其他创意内容。RunwayML 的功能包括&#xff1a; * 图像生成&#xff1a;使用生成式对抗网络 (…...

【css】能被4整除 css :class,判断一个数能否被另外一个数整除,余数

判断一个数能否被另外一个数整除 一个数能被4整除的表达式可以表示为&#xff1a;num%40&#xff0c;其中&#xff0c;num为待判断的数&#xff0c;% 为取模运算符&#xff0c;为等于运算符。这个表达式的意思是&#xff0c;如果num除以4的余数为0&#xff0c;则返回true&…...

ChatGPT与日本首相交流核废水事件-精准Prompt...

了解更多请点击&#xff1a;ChatGPT与日本首相交流核废水事件-精准Prompt...https://mp.weixin.qq.com/s?__bizMzg2NDY3NjY5NA&mid2247490070&idx1&snebdc608acd419bb3e71ca46acee04890&chksmce64e42ff9136d39743d16059e2c9509cc799a7b15e8f4d4f71caa25968554…...

关于 firefox 不能访问 http 的解决

情景&#xff1a; 我在虚拟机 192.168.x.111 上配置了 DNS 服务器&#xff0c;在 kali 上设置 192.168.x.111 为 DNS 服务器后&#xff0c;使用 firefox 地址栏搜索域名 www.xxx.com &#xff0c;访问在 192.168.x.111 搭建的网站&#xff0c;本来经 192.168.x.111 DNS 服务器解…...

68、Spring Data JPA 的 方法名关键字查询

★ 方法名关键字查询&#xff08;全自动&#xff09; &#xff08;1&#xff09;继承 CrudRepository 接口 的 DAO 组件可按特定规则来定义查询方法&#xff0c;只要这些查询方法的 方法名 遵守特定的规则&#xff0c;Spring Data 将会自动为这些方法生成 查询语句、提供 方法…...

Brother CNC联网数采集和远程控制

兄弟CNC IP地址设定参考&#xff1a;https://www.sohu.com/a/544461221_121353733没有能力写代码的兄弟可以提前下载好网络调试助手NetAssist&#xff0c;这样就不用写代码来测试连接CNC了。 以上是网络调试助手抓取CNC的产出命令&#xff0c;结果有多个行string需要自行解析&…...

Jenkins 编译 Maven 项目提示错误 version 17

在最近使用集成工具的时候&#xff0c;对项目进行编译提示下面的错误信息&#xff1a; maven-compiler-plugin:3.11.0:compile (default-compile) on project mq-service: Fatal error compiling: error: release version 17 not supported 问题和解决 上面提示的错误信息原…...

数据结构——排序算法——堆排序

堆排序过程如下&#xff1a; 1.用数列构建出一个大顶堆&#xff0c;取出堆顶的数字&#xff1b; 2.调整剩余的数字&#xff0c;构建出新的大顶堆&#xff0c;再次取出堆顶的数字&#xff1b; 3.循环往复&#xff0c;完成整个排序。 构建大顶堆有两种方式&#xff1a; 1.从 0 开…...

【Spring事务底层实现原理】

Transactional注解 Spring使用了TransactionInterceptor拦截器&#xff0c;该拦截器主要负责事务的管理&#xff0c;包括开启、提交、回滚等操作。当在方法上添加Transactional注解时&#xff0c;Spring会在AOP框架中对该方法进行拦截&#xff0c;TransactionInterceptor会在该…...

docker快速安装redis,mysql,minio,nacos等常用软件【持续更新】

redis ①拉取镜像 docker pull redis② 创建容器 docker run -d --name redis --restartalways -p 6379:6379 redis --requirepass "PASSWORD"–requirepass “输入你的redis密码” nacos ①&#xff1a;docker拉取镜像 docker pull nacos/nacos-server:1.2.0②…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

设计模式和设计原则回顾

设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓存逻辑分析&#xff1a; ①每个分类下的菜品保持一份缓存数据…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制&#xff1a; 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程&#xff0c;创建出来的进程就是子进程&#xff0c;原来的进程为父进程。…...

Java线上CPU飙高问题排查全指南

一、引言 在Java应用的线上运行环境中&#xff0c;CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时&#xff0c;通常会导致应用响应缓慢&#xff0c;甚至服务不可用&#xff0c;严重影响用户体验和业务运行。因此&#xff0c;掌握一套科学有效的CPU飙高问题排查方法&…...

CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝

目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为&#xff1a;一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...

手机平板能效生态设计指令EU 2023/1670标准解读

手机平板能效生态设计指令EU 2023/1670标准解读 以下是针对欧盟《手机和平板电脑生态设计法规》(EU) 2023/1670 的核心解读&#xff0c;综合法规核心要求、最新修正及企业合规要点&#xff1a; 一、法规背景与目标 生效与强制时间 发布于2023年8月31日&#xff08;OJ公报&…...

掌握 HTTP 请求:理解 cURL GET 语法

cURL 是一个强大的命令行工具&#xff0c;用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中&#xff0c;cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...

pycharm 设置环境出错

pycharm 设置环境出错 pycharm 新建项目&#xff0c;设置虚拟环境&#xff0c;出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...

热烈祝贺埃文科技正式加入可信数据空间发展联盟

2025年4月29日&#xff0c;在福州举办的第八届数字中国建设峰会“可信数据空间分论坛”上&#xff0c;可信数据空间发展联盟正式宣告成立。国家数据局党组书记、局长刘烈宏出席并致辞&#xff0c;强调该联盟是推进全国一体化数据市场建设的关键抓手。 郑州埃文科技有限公司&am…...