Docker客户端/守护进程
-C/S架构
-本地/远程
Docker Image 镜像
- 容器的基石
- 层叠的只读文件系统
- 联合加载(union mount)
- bootfs:引导文件系统,类似于Linux的引导系统,用户永远不会和引导文件系统有交互,实际上,当一个容器被启动后,引导文件系统就会被卸载
- rootfs:一种或多的操作系统只能是只读状态
- 联合加载:在rootfs之上加载多个文件系统(只读)
Docker Container容器
通过镜像启动
启动和执行阶段
是Docker的执行单元
写时复制(copy on write)
当一个容器启动时,Docker会在该镜像的最顶层加载一个读写文件系统,也就是一个可写的文件层.
Docker的运行程序都是在这个层中执行的,当Docker第一次启动一个容器时,读写层是空的,当文件系统发生变化时,都会应用到这一层。
例如,想修改一个文件,这个文件会从读写层下面的只读层,复制到读写层,该文件的只读版本一样存在,但是已经被读写层中的该文件的副本所隐藏。
这就是一个重要的技术写时复制
每个只读文件层都是只读的,并且以后永远不会变化。当创建一个新容器时,Docker会构建出一个镜像栈,就像图中表现的,在栈的最顶层添加读写层,这个读写层加上下面的镜像层一些配置数据就构成了一个容器。
Docker Registru 仓库
保存用户构建的镜像
- 共有
Docker Hub - 私有