p8 Run的流程和Docker原理

2024-08-22 07:28
文章标签 流程 docker 原理 run p8

本文主要是介绍p8 Run的流程和Docker原理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

docker run的运行原理图

在这里插入图片描述

docker是怎么工作的?

docker是一个cs的一个结构的系统docker的守护进程运行在宿主机上面通过socket进行访问
其实就是看下面的这个图,通过客户端的命令来操作docker的守护进程然后启动一些容器,默认容器是不启动的
在这里插入图片描述

docker为什么比虚拟机要快

Docker之所以比虚拟机更快,主要是因为它们在实现虚拟化的方式上存在根本性的差异。以下是几个关键点:

抽象层的差异:

Docker: Docker在操作系统级别进行虚拟化,这意味着它不需要像虚拟机那样通过Hypervisor(虚拟机监控程序)来实现硬件资源的虚拟化。因此,Docker容器直接运行在宿主机的内核之上,与宿主机共享内核。
虚拟机: 虚拟机需要通过Hypervisor来模拟完整的硬件环境,这意味着虚拟机需要自己的完整操作系统(Guest OS)来运行应用程序。这种额外的抽象层增加了资源消耗和启动时间。

资源利用效率:

Docker: 由于Docker容器共享宿主机的内核,因此它们不需要加载自己的操作系统,这极大地减少了资源消耗和启动时间。容器启动几乎是瞬时的,属于秒级别。
虚拟机: 虚拟机需要加载整个操作系统,这意味着每次启动都需要加载Guest OS的内核和用户空间组件,这导致虚拟机的启动时间较长,通常需要几分钟。

启动时间:

Docker: Docker容器几乎可以在瞬间启动,这是因为它们不需要加载完整的操作系统。
虚拟机: 虚拟机的启动时间较长,因为它们需要加载Guest OS,包括内核、驱动程序和其他系统组件。

隔离程度:

Docker: Docker容器之间的隔离程度较低,因为它们共享宿主机的内核。这意味着容器之间的进程可以在一定程度上相互影响。
虚拟机: 虚拟机提供了更高的隔离度,因为每个虚拟机都有自己的内核和资源,使其不受其他虚拟机的影响。
总结来说,Docker之所以比虚拟机更快,主要是因为它在实现虚拟化时采用了更轻量级的方法,减少了抽象层次,提高了资源利用效率,并且避免了加载整个操作系统的复杂过程。这使得Docker容器可以在几乎瞬时启动,并且在运行时资源消耗更小。
在这里插入图片描述

这里现在是非常不清晰的,还得往后学习~~~~~~~~

这篇关于p8 Run的流程和Docker原理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1095622

相关文章

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

Spring Security 单点登录与自动登录机制的实现原理

《SpringSecurity单点登录与自动登录机制的实现原理》本文探讨SpringSecurity实现单点登录(SSO)与自动登录机制,涵盖JWT跨系统认证、RememberMe持久化Token... 目录一、核心概念解析1.1 单点登录(SSO)1.2 自动登录(Remember Me)二、代码分析三、

Spring Boot 中的默认异常处理机制及执行流程

《SpringBoot中的默认异常处理机制及执行流程》SpringBoot内置BasicErrorController,自动处理异常并生成HTML/JSON响应,支持自定义错误路径、配置及扩展,如... 目录Spring Boot 异常处理机制详解默认错误页面功能自动异常转换机制错误属性配置选项默认错误处理

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

Spring Boot从main方法到内嵌Tomcat的全过程(自动化流程)

《SpringBoot从main方法到内嵌Tomcat的全过程(自动化流程)》SpringBoot启动始于main方法,创建SpringApplication实例,初始化上下文,准备环境,刷新容器并... 目录1. 入口:main方法2. SpringApplication初始化2.1 构造阶段3. 运行阶

使用Go实现文件复制的完整流程

《使用Go实现文件复制的完整流程》本案例将实现一个实用的文件操作工具:将一个文件的内容完整复制到另一个文件中,这是文件处理中的常见任务,比如配置文件备份、日志迁移、用户上传文件转存等,文中通过代码示例... 目录案例说明涉及China编程知识点示例代码代码解析示例运行练习扩展小结案例说明我们将通过标准库 os

Ubuntu 24.04启用root图形登录的操作流程

《Ubuntu24.04启用root图形登录的操作流程》Ubuntu默认禁用root账户的图形与SSH登录,这是为了安全,但在某些场景你可能需要直接用root登录GNOME桌面,本文以Ubuntu2... 目录一、前言二、准备工作三、设置 root 密码四、启用图形界面 root 登录1. 修改 GDM 配

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp