Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。
Docker 容器通过 Docker 镜像来创建。
Docker Daemon是docker最核心的守护进程,也就是Server端,Server端可以部署在远程,也可以部署在本地,因为Server端与客户端(Docker Client)是通过Rest API进行通信。
docker CLI 实现容器和镜像的管理,为用户提供统一的操作界面,这个 客户端提供一个只读的镜像,然后通过镜像可以创建一个或者多个容器(container),这些容器可以只是一个RFS(Root File System),也可以是一个包含了用户应用的RFS。容器在docker Client中只是一个进程,两个进程是互不可见的,从而实现容器之间的个隔离。
用户不能与server直接交互,但可以通过与容器这个桥梁来交互,由于是操作系统级别的虚拟技术,中间的损耗几乎可以不计。
docker容器和虚拟化实现原理
左图是虚拟机的工作原理图,着重体现在硬件层面进行虚拟化,实现对硬件资源进行抽象,对性能的损耗比较大,而且还会占用大量的内存资源
有图是Docker的工作原理图,属于OS级别的虚拟化,kernel通过创建多个镜像来隔离不同的app进程,由于kernel是是共享,本身linux image也不大,性能损耗几乎可以不计,而且内存占用也不大,大大节约了设备成本。
原文地址:http://blog.51cto.com/liuleis/2067566
时间: 2024-10-31 18:24:25