EP2 Docker架构和名词解释

105 阅读3分钟

EP2 Docker架构和名词解释

Docker架构图

Docker使用C/S架构。Docker ClientDocker Daemon(守护进程)对话,后者负责构建、运行和分发Docker Containers的繁重工作。Docker ClientDaemon可以 在同一系统上运行,或者您可以将 Docker Client连接到远程 Docker DaemonDocker ClientDaemon使用 REST API,通过 UNIX 套接字或网络接口进行通信。另一个 Docker ClientDocker Compose,它允许您使用由一组容器组成的应用程序。

image.png

The Docker daemon (Docker守护进程)

Docker守护进程(dockerd)监听Docker API请求,管理Docker对象,如镜像、容器、网络和卷。守护进程也可以通过与其他守护进程通信来管理Docker服务。

The Docker client (Docker客户端)

Docker客户端(Docker)是许多Docker用户与Docker交互的主要方式。当你使用诸如docker run这样的命令时,客户端将这些命令发送给dockerd,由dockerd来执行。docker命令使用docker API。Docker客户端可以与多个守护进程通信。

Docker Desktop

Docker Desktop是一个易于安装的应用程序,适用于Mac或Windows环境,使您能够构建和共享容器化的应用程序和微服务。Docker Desktop包括Docker守护进程(dockerd)、Docker客户端(Docker)、Docker Compose、Docker Content Trust、Kubernetes和Credential Helper。

Docker registries

Docker仓库存储Docker镜像。Docker Hub是一个任何人都可以使用的公共注册中心,Docker被默认配置为在Docker Hub上查找镜像。您甚至可以运行自己的私有注册表。

当你使用docker pull或docker run命令时,需要的镜像会从你配置的仓库中拉出来。当你使用docker push命令时,你的镜像会被推送到你配置的仓库中。

docker默认的仓库是Docker Hub (国外)

Images

镜像是一个只读模板,带有创建Docker容器的说明。通常,一个镜像基于另一个镜像,并带有一些额外的定制。例如,您可以构建一个基于ubuntu镜像的镜像,但是要安装Apache web服务器和您的应用程序,以及运行应用程序所需的配置细节。

您可以创建自己的图像,也可以只使用其他人创建并在仓库中发布的图像。要构建自己的镜像,需要创建一个Dockerfile,使用简单的语法定义创建和运行镜像所需的步骤。Dockerfile中的每条指令都会在图像中创建一个层。当你改变Dockerfile并重新构建镜像时,只有那些已经改变的层会被重新构建。与其他虚拟化技术相比,这是使镜像如此轻量级、小巧和快速的原因之一。

镜像就是一个容器模板,所有的容器都是通过镜像创建出来的;eg. redis镜像 --> docker run ... ---> redis 容器; 一个镜像可以创建多个容器,App是在容器中运行的.

Containers

容器是镜像的可运行实例。您可以使用Docker API或CLI创建、启动、停止、移动或删除容器。您可以将一个容器连接到一个或多个网络,将存储附加到它,甚至根据它的当前状态创建一个新镜像。

默认情况下,容器与其他容器及其主机相对隔离。您可以控制容器的网络、存储或其他底层子系统与其他容器或主机的隔离程度。

容器是由它的镜像以及在创建或启动它时提供的任何配置选项定义的。当一个容器被移除时,任何没有存储在持久存储中的对其状态的更改都将消失。

Docker利用容器,独立运行一个或一组应用