目录
-
Docker整体架构
Docker采用了C/S架构,客户端向服务端发送请求,Docker守护进程负责构建、运行和分发容器。Docker客户端和服务端可以运行在同个系统上,Docker客户端也可以使用REST API或 socket与Docker守护进程通信。
-
Docker核心组件
- Docker客户端(Client):用户与Docker Daemon建立通信的客户端。可以通过以下三种方式和Docker Daemon建立通信,分别为:tcp://host:port、unix://path_to_socket和fd://socketfd。
- Docker服务端(Docker daemon):,主要负责1、接收并处理Docker Client发送的请求;2、接收并处理Docker Client发送的请求。
- Docker镜像(Image):可将Docker镜像看成只读模板,通过它可以创建Docker容器。
- repostory仓库:Docker Registry是一个存储容器镜像(Docker Image)的仓库,提供搜索镜像、下载镜像、上传镜像功能。
- Docker容器(Container):Container就是Docker镜像的运行实例,可以这么认为,对于应用软件,镜像是软件生命周期的构建和打包阶段,而容器则是启动和运行阶段;
-
Docker运行过程
- Client执行docker run命令;
- Docker daemon接收到请求,执行时发现本地没有nginx镜像;
- Docker daemon从Docker Hub下载镜像;
- 下载完成后,httpd镜像被保存到本地,docker images可以查看到nginx已经下载到本地;
- Docker daemon启动容器,docker ps可以看到容器已经在运行;