欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Docker 的基本组成

程序员文章站 2022-07-13 13:23:05
...

客户端/守护进程

Docker Image 镜像
	容器的基石
	层叠的只读文件系统
	联合加载

Docker Container 容器

		通过镜像启动
		启动和执行阶段
		写时复制

Docker Registry 仓库

公有
私有
Docker Hub

Docker 的基本组成Docker 文档]

Docker 依赖Linux内核特性

  1. Namespaces 命名空间 :系统资源的隔离(进程、网络、文件系统等)

  2. Control group(cgroups) 控件组: 资源限制、优先级设定、资源计量、资源控制

Docker 和虚拟机的差别

容器和虚拟机相比,虚拟机需要应用、相对应的库、操作系统,而容器只需要应用、和相对应的库,并且虚拟机需要模仿硬件的行为,对内存和cpu消耗比较大。

Docker容器 虚拟机
操作系统 与宿主机共享OS 宿主机OS上运行虚拟机OS
存储大小 镜像小、便于存储传输 镜像庞大(vmdk、vdid等)
运行性能 几乎无额外性能损失 操作系统额外的CPU、内存消耗
移植性 轻便、灵活、适应于Linux 笨重,与虚拟化存储计数耦合度高
硬件亲和性 面向软件开发者 面向硬件运维者
部署速度 快速、秒级 较慢、10s以上
Docker 容器的能力

文件系统的隔离:每个容器都有自己的root文件系统
进程隔离:每个容器都运行在自己的进程环境中
网络隔离:容器间的虚拟网络接口和IP地址都是分开的
资源隔离和分组: 使用cgroups将CPU 和内存之类的资源独立分配给每个Docker容器。

相关标签: docker