Docker的镜像

目录

  • 1. 镜像是什么??
  • 2. 镜像命令详解
    • 2.1 镜像命令清单
    • 2.2 docker rmi命令
    • 2.3 docker save命令
    • 2.4 docker load命令
    • 2.5 docker history命令
    • 2.6 docker import命令
    • 2.7 docker image prune命令
    • 2.8 docker build命令
  • 3. 镜像的操作
  • 4. 离线迁移镜像
  • 5. 镜像存储的压缩与共享

1. 镜像是什么??

(1)镜像的解析如下:

  • Docker image 本质上是一个 read-only 只读文件, 这个文件包含了文件系统、源码、库文件、依赖、工具等一些运行 application 所必须的文件。
  • 我们可以把 Docker image 理解成一个模板, 可以通过这个模板实例化出来很多容器。
  • image 里面是一层层文件系统 Union FS。联合文件系统,可以将几层目录挂载到一起,形成一个虚拟文件系统。
  • 每一层文件系统我们叫做一层 layer,联合文件系统可以对每一层文件系统设置三种权限,只读(readonly)、读写(readwrite)和写出(whiteout-able),但是 docker镜像中每一层文件系统都是只读的。
  • 构建镜像的时候,从一个最基本的操作系统开始,每个构建的操作都相当于做一层的修改,增加了一层文件系统。一层层往上叠加,上层的修改会覆盖底层该位置的可见性,这也很容易理解,就像上层把底层遮住了一样。当你使用的时候,你只会看到一个完全的整体,你不知道里面有几层,也不清楚每一层所做的修改是什么。

(2)生活案例来理解镜像:

  • 镜像相当于我们 java 或者 C++中的类,相当于一个模板,可以很方便的构建出来不同的对象。

(3)生活案例来理解镜像的分层:

(4)为什么需要镜像:

  • 在部署应用时,通过手工或写一些脚本的方式进行部署。这样部署面临问题就是云端和本地环境一致问题。用户为每个应用打包过程比较繁琐,需要配置和给中修改等操作,非常费劲。
  • 然而, Docker 镜像就是为了解决这个小小的打包功能,突然一夜之间成名。那么,你可能说 Docker 镜像就是个压缩包,是的,你猜对了,它就像一个压缩包文件。它是如何解决 Paas 时代所面临的云端和本地一致性问题?很简单,它是把一个镜像制作成一个完整的操作系统所有文件和对应的目录结构,这样的压缩包是跟你本地和测试环境用的操作系统一摸一样。
  • docker 最大的贡献就是定义了容器镜像的分层的存储格式, docker 镜像技术的基础是联合文件系统(UnionFS),其文件系统是分层的。这样既可以充分利用共享层,又可以减少存储空间占用。
  • docker 镜像提供了一种打包应用程序和预配置服务器环境的便捷方式,可以很方便的将其用于个人用途或与其他 Docker 用户公开共享。

2. 镜像命令详解

2.1 镜像命令清单

(1)整体命令如下:

命令别名功能
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删除不使用的镜像

(2)命令docker images、docker image inspect、docker tag、docker pull、docker push见博客《Docker的镜像仓库》。本文就不在介绍了。

2.2 docker rmi命令

(1)功能:

  • 删除镜像。

(2)语法:

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

(3)别名:

docker image rm, docker image remove

(4)关键参数:

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

(5)样例:

root@139-159-150-152:/data/var/lib/docker/overlay2# docker rmi
maxhou/mybusybox:v0.1
Untagged: maxhou/mybusybox:v0.1
Untagged: maxhou/mybusybox@sha256:2c8ed5408179ff4f53242a4bdd2706110ce000be239fe37a61be9c52f704c437

2.3 docker save命令

(1)功能:

  • 将指定镜像保存成 tar 归档文件。

(2)语法:

docker save [OPTIONS] IMAGE [IMAGE...]

(3)别名:

docker image save

(4)关键参数:

  • -o:输出到的文件。

(5)样例:

root@139-159-150-152:/data/myworkdir# docker save -o
mynginx_1.22.1.tar nginx:1.22.1
root@139-159-150-152:/data/myworkdir# ll
total 142756
drwxr-xr-x 2 root root 4096 Mar 13 15:05 ./
drwx--x--x 5 root root 4096 Mar 13 15:03 ../
-rw------- 1 root root 146172416 Mar 13 15:05 mynginx_1.22.1.tar

2.4 docker load命令

(1)功能:

  • 导入使用 docker save 命令导出的镜像。

(2)语法:

docker load [OPTIONS]

(3)别名:

docker image load

(4)关键参数:

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

(5)样例:

root@139-159-150-152:/data/myworkdir# docker load -i
mynginx_1.22.1.tar
Loaded image: nginx:1.22.1

2.5 docker history命令

(1)功能:

  • 显示镜像历史。

(2)语法:

docker history [OPTIONS] IMAGE

(3)别名:

docker image history

(4)关键参数:

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

(5)样例:

root@139-159-150-152:/data/myworkdir# docker history nginx:1.21.1
IMAGE CREATED CREATED BYSIZE COMMENT
822b7ec2aaf2 18 months ago /bin/sh -c #(nop) CMD ["nginx" "-g" "daemon… 0B
<missing> 18 months ago /bin/sh -c #(nop) STOPSIGNALSIGQUIT 0B
<missing> 18 months ago /bin/sh -c #(nop) EXPOSE 800B
<missing> 18 months ago /bin/sh -c #(nop) ENTRYPOINT
["/docker-entr… 0B
<missing> 18 months ago /bin/sh -c #(nop) COPY file:09a214a3e07c919a… 4.61kB
<missing> 18 months ago /bin/sh -c #(nop) COPY file:0fd5fca330dcd6a7… 1.04kB
<missing> 18 months ago /bin/sh -c #(nop) COPY file:0b866ff3fc1ef5b0… 1.96kB
<missing> 18 months ago /bin/sh -c #(nop) COPY file:65504f71f5855ca0… 1.2kB
<missing> 18 months ago /bin/sh -c set -x && addgroup --system -… 63.9MB
<missing> 18 months ago /bin/sh -c #(nop) ENVPKG_RELEASE=1~buster 0B
<missing> 18 months ago /bin/sh -c #(nop) ENVNJS_VERSION=0.6.1 0B
<missing> 18 months ago /bin/sh -c #(nop) ENVNGINX_VERSION=1.21.1 0B
<missing> 18 months ago /bin/sh -c #(nop) LABEL maintainer=NGINX Do… 0B
<missing> 18 months ago /bin/sh -c #(nop) CMD ["bash"]0B
<missing> 18 months ago /bin/sh -c #(nop) ADD
file:4ff85d9f6aa246746… 69.3MB

2.6 docker import命令

(1)功能:

  • 从归档文件中创建镜像。

(2)语法:

docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]

(3)别名:

docker image import

(4)关键参数:

  • -c:应用 docker 指令创建镜像;
  • -m:提交时的说明文字;

(5)样例:

docker import my_ubuntu_v3.tar maxhou/ubuntu:v4

2.7 docker image prune命令

(1)功能:

  • 删除不使用的镜像。

(2)语法:

docker image prune [OPTIONS]

(3)关键参数:

  • -a , --all:删除全部不使用的镜像;
  • –filter filter:指定过滤条件;
  • -f, --force:不提示是否删除;

(4)样例:

docker image prune

2.8 docker build命令

(1)功能:

  • docker build 命令用于使用 Dockerfile 创建镜像。

(2)语法:

docker build [OPTIONS] PATH | URL | -

(3)关键参数:

  • –build-arg=[]:设置镜像创建时的变量;
  • -f:设指定要使用的 Dockerfile 路径;
  • –label=[]:设设置镜像使用的元数据;
  • –no-cache:设创建镜像的过程不使用缓存;
  • –pull:设尝试去更新镜像的新版本;
  • –quiet, -q:设安静模式,成功后只输出镜像 ID;
  • –tag, -t:设镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。
  • –network:设默认 default。在构建期间设置 RUN 指令的网络模式

(4)样例:

docker build -t mynginx:v1 .

3. 镜像的操作

(1)查找镜像:

[xiaomaker@xiaomaker-virtual-machine:docket]$ docker search busybox

(2)下载镜像:

[xiaomaker@xiaomaker-virtual-machine:docket]$ docker pull busybox:1.36.0

(3)查看镜像及列表存储位置:

  • 遍历查看镜像:
[xiaomaker@xiaomaker-virtual-machine:docket]$ docker images busybox
  • 查看镜像仓库在本地的存储信息:
    • 进入/var/lib/docker/目录查看 overlay2/repositories.json 文件,该文件记录已拉取镜像文件的信息。
    • 查看本地镜像,可以发现和 repositories.json 文件记录的信息相同。
[xiaomaker@xiaomaker-virtual-machine:docker]$ cd /var/lib/docker/
  • 镜像过滤:
docker image ls ubuntu 			#根据仓库名列出镜像
docker image ls ubuntu:18.04	#列出特定的某个镜像,也就是说指定仓库名和标签

docker image ls 还支持强大的过滤器参数 --filter,或者简写 -f。之前
我们已经看到了使用过滤器来列出虚悬镜像的用法,它还有更多的用法。查看某个位置之前的镜像 before,查看某个位置之后的镜像 since。

root@139-159-150-152:/data/myworkdir# docker image ls -f
before=ubuntu:18.04
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 16.04 b6f507652425 18 months ago 135MB
root@139-159-150-152:/data/myworkdir# docker image ls -f
since=ubuntu:18.04
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 20.04 e40cf56b4be3 3 weeks ago 72.8M

(4)查看镜像详情:

[xiaomaker@xiaomaker-virtual-machine:docker]$ docker image inspect busybox:1.36.0

(5)查看镜像分层:

  • Docker history 可以查看分层:
[xiaomaker@xiaomaker-virtual-machine:docker]$ docker history busybox:1.36.0
  • docker image inspect 可以查看详细的分层:
[xiaomaker@xiaomaker-virtual-machine:docker]$ docker image inspect busybox:1.36.0
  • 一些镜像下载的时候也可以看到是一层一层下载的:
[xiaomaker@xiaomaker-virtual-machine:docker]$ docker pull nginx:1.21.1 
1.21.1: Pulling from library/nginx
a330b6cecb98: Pull complete
5ef80e6f29b5: Pull complete
f699b0db74e3: Pull complete
0f701a34c55e: Pull complete
3229dce7b89c: Pull complete
ddb78cb2d047: Pull complete
Digest: sha256:a05b0cdd4fc1be3b224ba9662ebdf98fe44c09c0c9215b45f84344c12867002e
Status: Downloaded newer image for nginx:1.21.1 docker.io/library/nginx:1.21.1

(6)打标签:

docker tag busybox:1.36.0
ccr.ccs.tencentyun.com/maxhou6/busyboxbymaxhou:v3.0

(7)推送镜像:

docker pull ccr.ccs.tencentyun.com/maxhou6/busyboxbymaxhou:v3.0

(8)运行容器:

[xiaomaker@xiaomaker-virtual-machine:docker]$ docker run -it --rm

(9)镜像删除:可以根据 id 和名字删除,对于使用的镜像需要先清理容器再删除镜像

[xiaomaker@xiaomaker-virtual-machine:docker]$ docker rmi busybox:1.36.0

4. 离线迁移镜像

(1)服务器 1 上镜像保存为 tar 文件,如操作系统为 ubuntu:

[xiaomaker@xiaomaker-virtual-machine:docker]$ docker save -o busybox.tar busybox
[xiaomaker@xiaomaker-virtual-machine:docker]$ ll
total 147740
drwxr-xr-x 2 root root 4096 Mar 13 16:28 ./
drwx--x--x 5 root root 4096 Mar 13 15:03 ../
-rw------- 1 root root 5101568 Mar 13 16:28 busybox.tar
-rw------- 1 root root 146172416 Mar 13 15:05 mynginx_1.22.1.tar

(2)scp 或者只用使用可视化工具拷贝镜像到第二台服务器上:

[xiaomaker@xiaomaker-virtual-machine:docker]$ scp busybox.tar
root@43.138.218.166:/data/maxhou
The authenticity of host '43.138.218.166 (43.138.218.166)' can't
be established.
ECDSA key fingerprint is
SHA256:ai8KwGyM5W/iocUP8O00OMX7hriCD3ajd3wHVvdazTs.
Are you sure you want to continue connecting
(yes/no/[fingerprint])? yes
Warning: Permanently added '43.138.218.166' (ECDSA) to the list of
known hosts.
root@43.138.218.166's password:
busybox.tar

(3)从 tar 中恢复镜像:

[root@VM-8-12-centos maxhou]# docker load -i busybox.tar
baacf561cfff: Loading layer
[==================================================>]
5.092MB/5.092MB
Loaded image: busybox:1.36.0
[root@VM-8-12-centos maxhou]# docker images
REPOSITORY TAG IMAGE ID CREATED
SIZE
busybox 1.36.0 7cfbbec8963d 3 weeks ago
4.86MB
rabbitmq 3.9-management ef80153df89f 2 months ago
269MB
ubuntu 1.0 955bd67a1123 3 months ago
344MB
myubuntu 1.0 1de21ccbd1a1 3 months ago
344MB
busybox latest 827365c7baf1 3 months ago
4.86MB
redis 7.0 0256c63af7db 3 months ago
117MB
nginx latest 1403e55ab369 3 months ago
142MB
tomcat latest 1dad8c5497f9 4 months ago
474MB
ubuntu latest 6b7dfa7e8fdb 4 months ago
77.8MB
mysql 5.7 d410f4167eea 4 months ago
495MB
maxhou/stress-ng latest ceec0900d3e1 2 years ago
7.34MB
lmmdock/fork-bomb latest fb27e67e6244 2 years ago
934MB
cuilc/mycat latest 2d46917d5584 6 years ago
846MB

(4)执行 docker run 检查镜像是否可以正常运行:

[root@VM-8-12-centos maxhou]# docker run -it --rm busybox:1.36.0
sh
/ #
/ # ls /
bin dev etc home lib lib64 proc root sys tmp
usr var
/ # exit

5. 镜像存储的压缩与共享

(1)拉取 nginx 镜像,如果本地没有,镜像是从仓库拉取,如果有会提示镜像已经存在,并且是最新的。

[xiaomaker@xiaomaker-virtual-machine:docker]$ docker pull nginx:1.21.1
1.21.1: Pulling from library/nginx
Digest:
sha256:a05b0cdd4fc1be3b224ba9662ebdf98fe44c09c0c9215b45f84344c1267002e
Status: Image is up to date for nginx:1.21.1
docker.io/library/nginx:1.21.1

(2)Docker images 查看本地镜像,可以看到该镜像为 142Mb:

[xiaomaker@xiaomaker-virtual-machine:docker]$ docker images
REPOSITORY TAG IMAGE
ID CREATED SIZE
ccr.ccs.tencentyun.com/maxhou/mybusybox v0.2
bab98d58e29e 6 days ago 4.86MB
busybox latest
bab98d58e29e 6 days ago 4.86MB
maxhou/mybusybox v0.1
bab98d58e29e 6 days ago 4.86MB
registry.cn-hangzhou.aliyuncs.com/maxhou/busybox v0.3
bab98d58e29e 6 days ago 4.86MB
grafana/grafana latest
944e84f25bc7 10 days ago 329MB
nginx 1.22.1
8c9eabeac475 11 days ago 142MB
nginx 1.23.3
904b8cb13b93 11 days ago 142MB
ubuntu 22.04
74f2314a03de 11 days ago 77.8MB
hello-world latest
feb5d9fea6a5 17 months ago 13.3kB
nginx 1.21.1
822b7ec2aaf2 18 months ago 133MB

(3)从上面看到 nginx 为 1.21.1 的大小是 140 多 MB,但是我们从 docker hub 上查看可以看到镜像是 50 多 MB,说明发生了压缩,因为仓库到本地需要走网络,所以文件越小越好:

(4)把一个镜像打多个 tag,然后同时推送仓库,可以看到是说层已经存在,不会重复存储:

[xiaomaker@xiaomaker-virtual-machine:docker]$ docker tag nginx:1.22.1
maxhou/mybitnginx:1.22.1
[xiaomaker@xiaomaker-virtual-machine:docker]$ docker tag nginx:1.22.1
maxhou/mybitnginx:1.22.2
[xiaomaker@xiaomaker-virtual-machine:docker]$ docker tag nginx:1.22.1
maxhou/mybitnginx:1.22.3
[xiaomaker@xiaomaker-virtual-machine:docker]$ docker tag nginx:1.22.1
maxhou/mybitnginx:1.22.4
[xiaomaker@xiaomaker-virtual-machine:docker]$ docker push maxhou/mybitnginx -a

(5)添加一个新的镜像到我们的仓库的时候,如果 docker hub 发现已经有了是 mount的,不是从本地推上去的:

[xiaomaker@xiaomaker-virtual-machine:docker]$ docker tag nginx:1.16.1
maxhou/mybitnginx:1.16.1
[xiaomaker@xiaomaker-virtual-machine:docker]$ docker push
maxhou/mybitnginx:1.16.1
The push refers to repository [docker.io/maxhou/mybitnginx]
c23548ea0b99: Mounted from library/nginx
82068c842707: Mounted from library/nginx
c2adabaecedb: Mounted from library/nginx
1.16.1: digest:
sha256:2963fc49cc50883ba9af25f977a9997ff9af06b45c12d968b7985dc1e9254e4b size: 948

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

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

相关文章

Vue Web开发(五)

1. axios axios官方文档 异步库axios和mockjs模拟后端数据&#xff0c;axios是一个基于promise的HTTP库&#xff0c;使用npm i axios。在main.js中引入&#xff0c;需要绑定在Vue的prototype属性上&#xff0c;并重命名。   &#xff08;1&#xff09;main.js文件引用 imp…

【合作原创】使用Termux搭建可以使用的生产力环境(六)

前言 在上一篇【合作原创】使用Termux搭建可以使用的生产力环境&#xff08;五&#xff09;-CSDN博客我们讲到了如何美化xfce4桌面&#xff0c;达到类似于Windows的效果&#xff0c;这一篇将继续在上一篇桌面的基础上给我们的系统装上必要的软件&#xff0c;让它做到真正可以使…

docker简单私有仓库的创建

1&#xff1a;下载Registry镜像 导入镜像到本地中 [rootlocalhost ~]# docker load -i registry.tag.gz 进行检查 2&#xff1a;开启Registry registry开启的端口号为5000 [rootlocalhost ~]# docker run -d -p 5000:5000 --restartalways registry [rootlocalhost ~]# dock…

AI技术架构:从基础设施到应用

人工智能&#xff08;AI&#xff09;的发展&#xff0c;正以前所未有的速度重塑我们的世界。了解AI技术架构&#xff0c;不仅能帮助我们看懂 AI 的底层逻辑&#xff0c;还能掌握其对各行业变革的潜力与方向。 一、基础设施层&#xff1a;AI 技术的坚实地基 基础设施层是 AI 技…

Python Turtle 实现动态时钟:十二时辰与星空流星效果

在这篇文章中&#xff0c;我将带你通过 Python 的 turtle 模块构建一个动态可视化时钟程序。这个时钟不仅具备传统的时间显示功能&#xff0c;还融合了中国古代的十二时辰与八卦符号&#xff0c;并通过动态星空、流星效果与昼夜背景切换&#xff0c;为程序增添了观赏性和文化内…

使用CSS变量和JavaScript实现鼠标跟随渐变

实现鼠标跟随渐变效果的详细过程&#xff1a; 1. HTML 结构 我们在 HTML 中创建了一个 <div> 元素&#xff0c;用于展示渐变效果。这个元素的 ID 是 gradient-box&#xff0c;方便在 JavaScript 中进行操作。 2. CSS 样式 CSS 变量&#xff1a;在 :root 中定义了两个…

监控易监测对象及指标之:宝兰德中间件JMX监控指标解读

监控易作为一款全面的IT监控软件&#xff0c;能够为企业提供深入、细致的监控服务&#xff0c;确保企业IT系统的稳定运行。在本文中&#xff0c;我们将详细解读监控易针对宝兰德中间件JMX的监控指标&#xff0c;以帮助用户更好地理解和应用这些监控数据。 监测指标概览&#x…

数据仓库-集群管理

主要介绍操作类问题中的集群管理问题。 无法成功创建数据仓库集群时怎么处理&#xff1f; 请检查用户账户余额是否少于100元&#xff0c;是否已经没有配额创建新的数据仓库集群&#xff0c;以及是否存在网络问题。 如账户余额、配额、网络均未发现问题&#xff0c;请联系客户…

期魔方风控模型之委托失败补单程序

你知道吗&#xff1f;只需简单设置&#xff0c;期魔方风控模型就能自动处理风控委托失败的订单&#xff0c;进行补单操作。 那么&#xff0c;这种功能适用于哪些场景呢&#xff1f;让我们一起来探讨一下&#xff01; 在实际交易中&#xff0c;我们有时会遇到在任意交易终端&a…

ubuntu系统的docker安装(2)

查看系统版本 lsb_release -asudo systemctl status docker查看docker是否安装成功 docker pull拉取镜像不成功/docker run不成功 可能有多种原因&#xff1a;网络链接不稳定&#xff0c;没有重启docker&#xff0c;可以先将docker源设置为国内镜像源 sudo systemctl rest…

Source Insight的使用经验汇总

01-Add All"和“Add Tree”有何区别&#xff1f; 在 Source Insight 中&#xff0c;“Add All”和“Add Tree”是两种向项目&#xff08;Project&#xff09;中添加文件的操作选项&#xff0c;它们的区别在于处理文件和目录的方式不同&#xff1a; 1. Add All 范围&am…

MVC基础——市场管理系统(四)

文章目录 项目地址六、EF CORE6.1 配置ef core环境6.2 code first6.2.1 创建Database context1. 添加navigation property2. 添加MarketContext上下文七、Authentication7.1 添加Identity7.2 Run DB migration for Identity7.3 使用Identity7.3.1 设置认证中间件7.3.2 设置权限…

前端编辑器JSON HTML等,vue2-ace-editor,vue3-ace-editor

与框架无关 vue2-ace-editor有问题&#xff0c;ace拿不到&#xff08;brace&#xff09; 一些组件都是基于ace-builds或者brace包装的 不如直接用下面的&#xff0c;不如直接使用下面的 <template><div ref"editor" class"json-editor"><…

Oracle 与 达梦 数据库 对比

当尝试安装了达梦数据库后&#xff0c;发现达梦真的和Oracle数据库太像了&#xff0c;甚至很多语法都相同。 比如&#xff1a;Oracle登录数据库采用sqlplus&#xff0c;达梦采用disql。 比如查看数据视图&#xff1a;达梦和Oracle都有 v$instance、v$database、dba_users等&a…

【docker】12. Docker Volume(存储卷)

什么是存储卷? 存储卷就是将宿主机的本地文件系统中存在的某个目录直接与容器内部的文件系统上的某一目录建立绑定关系。这就意味着&#xff0c;当我们在容器中的这个目录下写入数据时&#xff0c;容器会将其内容直接写入到宿主机上与此容器建立了绑定关系的目录。 在宿主机上…

汽车总线协议分析-CAN总线

随着汽车工业的发展&#xff0c;汽车各系统的控制逐步向自动化和智能化转变&#xff0c;汽车电气系统变得日益复杂。许多车辆设计使用CAN、CAN-FD、LIN、FlexRay或SENT在电子控制单元(ECU)之间以及ECU与传感器&#xff0c;执行器和显示器之间进行通信。这些ECU之间的通信允许车…

前端性能优化(理念篇)

前端性能优化&#xff08;理念篇&#xff09; 前言 其实前端性能优化&#xff0c;按照我的理解&#xff0c;首先你公司的硬件条件跟其它资源跟的上&#xff0c;比如服务器资源&#xff0c;宽带怎么样&#xff0c;还有后端接口响应如何&#xff0c;这些资源都具备后&#xff0…

IIS部署程序https是访问出现403或ERR_HTTP2_PROTOCOL_ERROR

一、说明 在windows server 2016中的IIS程序池里部署一套系统&#xff0c;通过https访问站点&#xff0c;同时考虑到安全问题以及防攻击等行为&#xff0c;就用上了WAF云盾功能&#xff0c;能有效的抵挡部分攻击&#xff0c;加强网站的安全性和健壮性。 应用系统一直能够正常…

【深度学习】热力图绘制

热力图&#xff08;Heatmap&#xff09;是一种数据可视化方法&#xff0c;通过颜色来表示数据矩阵中的数值大小&#xff0c;以便更直观地展示数据的分布和模式。热力图在许多领域中都有应用&#xff0c;尤其在统计分析、机器学习、数据挖掘等领域&#xff0c;能够帮助我们快速识…

3.6 IP 数据报的发送与转发

欢迎大家订阅【计算机网络】学习专栏&#xff0c;开启你的计算机网络学习之旅&#xff01; 文章目录 前言1 主机发送 IP 数据报2 直接交付与间接交付3 路由器转发 IP 数据报4 习题分析 前言 在计算机网络中&#xff0c;数据传输的核心工作之一是通过 IP 协议将数据从源主机传递…