Docker 运行底层原理|学习笔记

简介: 快速学习 Docker 运行底层原理

开发者学堂课程【Docker 快速入门Docker 运行底层原理】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/850/detail/14034


Docker运行底层原理


内容介绍

一、Docker 运行底层原理

一、Docker 运行底层原理

通过前面的学习,已经成功运行了 docker Hello world,本期环境全部配置成功,再次强调这埋下一个伏笔,hello world 注意,有个冒号,有个 latest,

image.png

是这样的形式才是一个完整的。镜像名字,但是一般而言不写,不写代表默认,添加这一个说明是最新版,如果这写冒号,不是最新版,也许是5.2版本,需要哪个版本就在后面写一个版本,后面讲标签的时候还会再讲,这里先提下,hello world 彻底完成,接下来要看 docker 运行的机制和原理。

回顾讲过的知识点,一个安装运行,另一个 hello world,第一个命令 docker,问题是在深度的解析,这 docker 是 docker service Docker 。restart 下非常快,比虚拟机要快,第二个 docker 底层原理又是怎么工作的呢?

docker 是个 CS 结构,服务器端和客户端包括的守护进程运行在主机上,刚才查了, CS 命令不用挑竖线 grape Dr 是有一个进程,客户端命令跟 docker 打交道,实质而言是:

Docker 是一个 Client-Server 结构的系统,Docker 守护进程运行在主机上,然后通过 Socket 连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器。容器是一个运行时环境,就是我们前面说到的集装箱。

image.png

守护进程,作为接口服务端,来进行 docker 的处理,从客户端访问守护进程,客户端接受了命令,并管理运行在主机上的容器,容器是个运行时环境,就是集装箱,docker run hello world 主机上只有低保内部的接口人是守护进程 docker,docker 容器就是一个集装箱,既然运行 hello world,如法炮制后续运行环境,Spark tomcat mysql hadoop,也可以放在一个的集装箱上面,通过客户端来操作,这是第一个。

第二个前面说过虚拟机是分装的,docker 是秒级的

image.png

为什么它比虚拟机快?橙色有两个,第一个 dota 有更少的抽象层,什么是更少的抽象层?前面说过一个虚拟机是软件加硬件,是一个完整的操作系统,有这些负担,有这些硬件,但是 docker 不需要 preparation,实现硬件虚拟化资源,可能会觉得奇怪,左边是传统的虚拟机的模型, host operation system 是假设是Windows she,在上面装了个虚拟机 win,上面又装了生产

helper version 有一个接口,docker 厉害是它清除了,这时 docker 还是操作系统,这一层将它清除掉,减少了硬件资源的虚拟化,换成了 docker 引擎,docker是没有硬件负担的, docker 在利用效率上比虚拟好,第二个在虚拟机上面,这里可以装三套,创建新的虚拟机,下一步,可以装各种各样的操作系统。

但是在同一个虚拟机软件上面已经装了,假设是 ubuntu,WINDOWS8 每个系统上面有一套库:

image.png

各种应用,那 docker 呢?系统不关心下面是什么系统,只知道有一个系统,硬件资源,宿主机的资源统一用,docker,这只蓝鲸,大金鱼,不需要客户端的操作系统,因此当新建一个容器时,docker 不需要和虚拟机重新加载一个操作系统内核,比如 OS,再启动一个新的点一下,这样特别慢。

因为虚拟机上有一个操作系统,而系统上只有一个 docker 引擎,自然而然加载过程反馈比较耗时,比较费时,也耗资源,新建一个虚拟机,需要加载操作系统,新建过程是分钟级别的,docker 没有这些累赘和拖累。用宿主机共用这些资源加载,一个一个的集装箱,每一个集装箱面试一个应用,不用自带一套,只带一个 docker用就可以,所以docker和虚拟机这章,还是个小重点。

面试中有问到过:说一下虚拟机和容器虚拟化技术,docker 和虚拟机的特点,部署速度,硬件亲和性。虚拟机面向硬件 docker 印象软件,一个是秒级,一个是分钟级,各种移植了什么?明白 docker 就删除掉虚拟机的各自的操作系统和 provision硬件虚拟化资源。

所以虚拟机的这两块被删除掉,只用 docker 引擎,这就是 docker 出彩的地方,后续将要在 docker 下来进一步来探讨容器。以及一个一个运行的容器实力如何,软件开发相配合。如何完全交给运维镜像,通过镜像模拟出一模一样的运行环境,在本地运行,部署就变得非常方便,不会出现在开发环境是可以的,换了个机器就不行了,docker 的底层原理,就叙述到这里。

相关文章
|
11月前
|
Java Linux C语言
《docker基础篇:2.Docker安装》包括前提说明、Docker的基本组成、Docker平台架构图解(架构版)、安装步骤、阿里云镜像加速、永远的HelloWorld、底层原理
《docker基础篇:2.Docker安装》包括前提说明、Docker的基本组成、Docker平台架构图解(架构版)、安装步骤、阿里云镜像加速、永远的HelloWorld、底层原理
896 90
|
9月前
|
SQL 数据库 Docker
【赵渝强老师】在Docker中运行达梦数据库
本文介绍了在Docker容器中部署达梦数据库(DM 8)的具体步骤,包括创建文件夹、下载安装包、导入镜像、启动容器、登录数据库及查看状态等操作。同时,通过视频讲解辅助理解。文中还分析了将数据库服务容器化的潜在问题,如数据安全性、硬件资源争用、网络带宽占用和额外隔离带来的挑战,指出数据库服务在生产环境中可能不适合容器化的原因。
739 4
【赵渝强老师】在Docker中运行达梦数据库
|
8月前
|
NoSQL Redis 数据库
Docker平台上的Redis镜像运行
这就是如何在Docker平台上运行Redis镜像的全部过程。走进Docker和Redis的世界,探索更多可能!
488 10
|
11月前
|
Ubuntu NoSQL 开发工具
《docker基础篇:4.Docker镜像》包括是什么、分层的镜像、UnionFS(联合文件系统)、docker镜像的加载原理、为什么docker镜像要采用这种分层结构呢、docker镜像commit
《docker基础篇:4.Docker镜像》包括是什么、分层的镜像、UnionFS(联合文件系统)、docker镜像的加载原理、为什么docker镜像要采用这种分层结构呢、docker镜像commit
523 70
|
10月前
|
消息中间件 Linux 数据中心
Docker核心技术:Docker原理之Namespace
通过以上内容,您可以深入了解Docker中的Namespace机制及其在资源隔离中的应用,从而更好地理解和应用Docker技术。
383 25
|
监控 Docker 容器
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序
|
11月前
|
前端开发 应用服务中间件 nginx
docker安装nginx,前端项目运行
通过上述步骤,你可以轻松地在Docker中部署Nginx并运行前端项目。这种方法不仅简化了部署流程,还确保了环境的一致性,提高了开发和运维的效率。确保按步骤操作,并根据项目的具体需求进行相应的配置调整。
985 25
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
489 5
|
开发框架 安全 开发者
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。本文探讨了 Docker 在多平台应用构建与部署中的作用,包括环境一致性、依赖管理、快速构建等优势,以及部署流程和注意事项,展示了 Docker 如何简化开发与部署过程,提高效率和可移植性。
300 4
|
存储 运维 Linux
2.docker架构,原理,安装及简单应用
docker的架构 先来看docker官网给出的docker架构图:
524 1
2.docker架构,原理,安装及简单应用

热门文章

最新文章