【经典问题】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容器只需要几秒钟。

相关文章
|
6月前
|
Kubernetes Java Docker
多阶段构建:精妙优化Docker镜像大小和性能
在容器化应用的世界中,Docker镜像大小和性能优化是至关重要的。多阶段构建是一项强大的技术,通过精心设计Dockerfile,可以在构建镜像时去除不必要的组件,从而显著减小镜像大小,提高性能。本文章将深入讨论多阶段构建的各个方面,并通过更为丰富和实际的示例代码,帮助大家全面了解和掌握这一重要技术。
|
Java Linux 虚拟化
为什么要学习Docker?有什么用处呢?看完你就想学了
为什么要学习Docker?有什么用处呢?看完你就想学了
148 0
为什么要学习Docker?有什么用处呢?看完你就想学了
|
Ubuntu 应用服务中间件 Shell
docker操作积累
docker操作积累
91 0
|
Shell 应用服务中间件 Linux
|
Docker 容器
|
存储 测试技术 Docker
01 Docker实战之概念理解及环境准备
01 Docker实战之概念理解及环境准备
|
Java Linux Shell
docker-compose下的java应用启动顺序两部曲之二:实战
实战java应用的改造,使之在docker-compose下可以按照业务需求的顺序来启动
251 1
docker-compose下的java应用启动顺序两部曲之二:实战
|
SQL 安全 Shell
这可能是最为详细的Docker入门吐血总结(下)
这可能是最为详细的Docker入门吐血总结(下)
159 0
这可能是最为详细的Docker入门吐血总结(下)
|
存储 网络协议 Ubuntu
这可能是最为详细的Docker入门吐血总结(中)
这可能是最为详细的Docker入门吐血总结
181 0
这可能是最为详细的Docker入门吐血总结(中)
|
NoSQL 关系型数据库 MySQL
下一篇
无影云桌面