写点什么

Docker 内部组件

用户头像
混沌畅想
关注
发布于: 2020 年 10 月 26 日

Docker 是一个实现了轻量级虚拟化的平台,这个平台主要由以下的几部分组成:

  • 客户端(Docker Client)

  • 守护进程(Docker daemon)

  • 镜像(Docker Image)

  • 容器(Docker Container)

  • 镜像仓库(Docker Registry)

Docker 内部组件之间的相互关系如图 3 所示。Docker 守护进程是整个 Docker 组成部分的核心,也称作服务端。Docker 守护进程可以部署在本地,也可以部署在远程。而 Docker 客户端则通过 RESTFul 形式的 API 与 Docker 守护进程通信。镜像仓库可以为 Docker 客户端提供能够实现各种功能的只读镜像,通过这些镜像可以创建出一个或多个容器。每个容器都是运行在 Docker 客户端中的一个独立进程。

图3-内部组件关系图

1 客户端

Docker 客户端与守护进程的交互情况如图 4 所示。Docker 客户端是通过命令行或者其他的工具来使用 API。当 Docker 客户端向 Docker 服务器发送 Docker 命令时,由 Docker daemon 进程负责处理 Docker 客户端以 RESTFul 形式调用的 API 命令。当然我们可以在宿主机上同时运行 Docker 客户端和守护进程,也可以通过本地 Docker 客户端连接到远程宿主机上的 Docker 守护进程。

图4-客户端示意图

2 守护进程

Docker 守护进程是创建和运行容器的 Linux 进程,守护进程可以绑定本地的端口并提供 API 服务,同时也支持远程访问及控制。当 Docker 守护进程接收到指令后,将由 daemon 进程执行镜像的编译、容器的启动/停止以及分发。

3 镜像

Docker 镜像是用来创建 Docker 容器的模板,用户是基于镜像来运行自己的容器。通常镜像的体积都很小,便于分享、存储和更新。

4 容器

容器是独立运行的一个或一组应用。容器是基于镜像启动并运行的,在容器中可以运行一个或多个进程。当容器启动完成后,用户就可以使用容器提供的服务或在容器中完成特定的软件安装。镜像可以看作是 Docker 生命周期中的构建或者是打包阶段,而容器则被认为是在启动或者是执行阶段。

5 镜像仓库

Docker 镜像仓库是用来保存镜像的,同源码版本控制中的代码与代码仓库的关系。Docker 的镜像仓库可以分为公有和私有仓库。由 Docker 公司运营的公有镜像仓库是 Docker Hub(https://hub.docker.com/)。用户可以建立自己的账号,分享或保存自己的镜像。

发布于: 2020 年 10 月 26 日阅读数: 1642
用户头像

混沌畅想

关注

还未添加个人签名 2017.10.22 加入

还未添加个人简介

评论

发布
暂无评论
Docker内部组件