docker组件
- docker服务器和客户端,也称为docker引擎
- docker镜像
- registry
- docker容器
C/S架构
docker客户端向服务端发送请求,也可以在同一台机器上同时运行客户端和服务端。
Registry
分为共有仓库和私有仓库,与GitHub类似
此外还可以假设自己的私有仓库。
docker技术组件
- 一个原生的Linux容器格式,称之为libcontainer
- Linux内核的命名空间(namespace),用于隔离文件系统、进程和网络
- 文件系统隔离:每个容器有各自的root文件系统
- 进程隔离:每个容器运行各自的进程环境
- 网络隔离:容器间的虚拟网络接口和IP地址都是分开的
- 资源隔离和分组:使用cgroups将CPU和内存之类的资源独立分配给每一个docker容器
- 写时复制:文件系统都是通过写时复制实现的,意味着系统是分层的、快速的,而且占用磁盘空间更小
- 日志:容器的STDOUT/STDERR/STDIN这些IO都会被记录到日志中
- 监护室shell:用户可以创建一个伪tty终端,连接到STDIN,实现一个交互式的shell
网友评论