【经典问题】Docker是怎么工作的?

简介: 【1月更文挑战第26天】【经典问题】Docker是怎么工作的?

Docker是怎么工作的?

Docker是一个client-server结构的系统,Docker守护进程运行在主机上,然后通过socket连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器。容器是一个运行时环境,就是Docker logo展示的集中箱。

docker的守护进程是什么?

守护进程来自于Linux系统下的一部分,对于不太熟悉Linux系统的我来说,暂时只要知道守护进程是干什么的就可以了,所以写一下我在查阅资料后对守护进程的理解。

守护进程可以理解为进程守护(进程的守护),是用于监控指定的进程,当发现目标进程工作异常时,可以对该目标进程进行控制。如关闭该进程,并重新启动该进程。

守护进程(守护者程序),目标进程(被守护进程)。

一个守护进程可以对多个目标进程进行守护

守护进程的实现机制:

在守护进程中,守护者对目标进程的管理是利用心跳机制实现的。

目标进程会定时向守护者发送报告(发送心跳),表示该目标进程在正常运行,对外提供相应的服务。

当守护者长时间没有收到目标进程发送的报告(心跳),守护者会认为该目标进程运行异常,守护者会对目标进程进行关闭,然后重新启动该目标进程。

Docker为什么比VM运行更快:

Docker有着比虚拟机更少的抽象层,由于Docker不需要Hypervisor实现硬件资源虚拟化,运行在Docker容器上的程序直接使用的都是实际物理机的硬件资源,因此在Cpu、内存利用率上Docker将会在效率上有明显优势。

Docker利用的是宿主机的内核,而不需要Guest OS,因此,当新建一个容器时,Docker不需要和虚拟机一样重新加载一个操作系统,避免了引导、加载操作系统内核这个比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载Guest OS,这个新建过程是分钟级别的,而Docker由于直接利用宿主机的操作系统则省略了这个过程,因此新建一个Docker容器只需要几秒钟。

相关文章
|
9月前
|
运维 应用服务中间件 nginx
docker好难用啊!为啥说它移植性好?
docker好难用啊!为啥说它移植性好?
52 0
|
11月前
|
存储 Docker 容器
Docker | Docker技术基础梳理(六) - 为啥容器里数据总是缺失?
Docker | Docker技术基础梳理(六) - 为啥容器里数据总是缺失?
197 0
|
12月前
|
Ubuntu 应用服务中间件 Shell
docker操作积累
docker操作积累
72 0
|
存储 测试技术 Docker
01 Docker实战之概念理解及环境准备
01 Docker实战之概念理解及环境准备
|
存储 jenkins 应用服务中间件
docker实际工作案例实现 | 学习笔记
快速学习docker实际工作案例实现
201 0
docker实际工作案例实现 | 学习笔记
|
Docker 容器
Docker学习(1):一张图讲解Docker所有的基本要素
Docker学习(1):一张图讲解Docker所有的基本要素
85 0
Docker学习(1):一张图讲解Docker所有的基本要素
|
NoSQL 关系型数据库 MySQL
|
安全 Unix Linux
docker 系列:底层知识
Docker 采用的是 **C/S 架构**,使用 REST API、UNIX 套接字或网络接口进行通信。一般客户端会和 Docker 服务运行在同一台机子上,像我们平常使用的 docker build、pull、run 等命令就是发送到本地客户端上的,本地客户端再发送给 Docker 服务端。另外,客户端也可以独立部署,像 Docker Compose。
186 0
docker 系列:底层知识
|
Docker 容器
docker实操安装,拿捏
本文均为本人实操整理,请勿搬运,学习交流可以随时评论---魏红斌
85 0