本节包括:Client 客户端、Daemon 守护进程、Image 镜像、Container 容器、Registry 仓库
Client/Daemon 客户端/守护进程:
1.Docker采用C/S架构。Client(客户端)向Daemon(服务器端)发出请求,Daemon处理完所有请求并返回请求结果给Client。
2.Client对Daemon的访问既可以在本地访问,也可以在远程访问。
Image 镜像:
1.容器是基于镜像启动和运行的,镜像就相当于容器的源代码,保存了用于启动容器的各种条件。
2.层叠的只读文件系统:
2.1 最底端是一个引导文件系统bootfs,用户基本不会与bootfs有交互,当容器启动后会被移动到内存中,bootfs会被卸载。
2.2 第二层是root文件系统rootfs,可以是一种或者多种操作系统,rootfs只能是只读状态。
2.3 第三层是联合加载(union mount),一次同时加载多个文件系统,但是外界只能看到一个文件系统。
Container 容器:
1.通过镜像启动,容器中可以运行一个或者多个进程。
2.容器在启动时,会在镜像的最顶层加载一个读写层。在Docker中运行的程序,是在读写层中运行。
3.第一次启动时,初始的读写层是空的,当文件系统发生变化,该文件会从读写层下的只读层复制到读写层,该文件的只读版本依然存在,但是被读写层中的该文件副本所隐藏,这就是Docker的重要的技术,写时复制(copy on write)。
Registry 仓库:
1.保存用户的镜像。
2.Docker的仓库分为公有和私有两种:
2.1 Docker公司提供了一个共有的仓库Docker Hub,可以注册账号,分享并且保存自己的镜像,也可以查找所需要的镜像。
2.2 我们也可以搭建自己私有的仓库,后面的章节会有详细的搭建过程。
网友评论