docker client 客户端
docker daemon守护进程
docker 组成 docker image 镜像 (容器的基石,层叠的只读文件系统 联合加载)
docker container 容器
docker Registyry 仓库
可写成(初始为空 写时复制)
add apaches
层叠的只读文件系统 add emacs
rootfs(centos ,ubuntu) 只读
bootfs 引导文件系统
通过镜像启动
Docker Container 容器 启动和执行阶段
docker 仓库 共有
私有
docker 依赖Linux内核的特性:
1: Namespaces 命名空间
2: Control groups(cgroups) 控制组
Namespaces 命名空间
编程语言 命名空间的作用 封装 代码隔离
操作系统 命名空间 进程 网络 文件系统 等系统资源隔离
PID(Process ID)进程隔离
NET(NETWORK)管理网络接口
Namespaces 命名空间 IPC (interprocess Communication)管理跨进程通信的访问
MNT(mount)管理挂载点
UTS(Unix TimeSharing System) 隔离内核和版本标识
隔离资源的管理 Controller groups (用来分配资源)
资源限制
优先级设定
资源计量
资源控制
Docker 容器的作用:
1)文件系统隔离:每个容器都有自己的root文件系统
2)进程隔离:每个容器都运行在自己的进程环境中
3)网络隔离:容器间的虚拟网络接口和IP地址都是分开的
4)资源隔离盒分组 使用cgroups将CPU和内存之类的资源独立分配给每个docker容器