Docker是一个C/S架构(client/server)
docker的守护进程运行在主机上,通过socket连接从客户端访问,
守护进程从客户端接受命令并管理运行在主机上的容器。
Docker的特点
- docker有着比虚拟机更少的抽象层。不需要Hypervisor实现硬件资源虚拟化,运行在docker的容器直接使用物理机的硬件资源
- docker利用的是宿主机的内核,不需要重新加载一个系统内核。
docker结构和层次关系
虚拟机和docker的区别
首先观看一下虚拟机的架构
Docker容器 | 虚拟机 | |
操作系统 | 与主机共享 | 在宿主机上运行一个虚拟的操作系统 |
存储大小 | 镜像小,便于传输和存储 | 镜像庞大 |
移植性 | 轻便、灵活,适用于linux | 笨重,与虚拟化技术高耦合 |
硬件亲和性 | 面相软件开发者 | 面向硬件运维者 |
运行性能 | 几乎无性能损耗 | 额外消耗cpu和内存 |
部署速度 | 快速、秒级 | 较慢,10秒以上 |