# 基本架构

Docker 采用了 `C/S` 架构，包括客户端和服务端。Docker 守护进程 （`Daemon`）作为服务端接受来自客户端的请求，并处理这些请求（创建、运行、分发容器）。

客户端和服务端既可以运行在一个机器上，也可通过 `socket` 或者 `RESTful API` 来进行通信。

![Docker 基本架构](https://4052459738-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtosaFkDDZcEMYx7D8ehS%2Fuploads%2Fgit-blob-64df422e5753f422b6b2c91fd2574e4162650d42%2Fdocker_arch.png?alt=media)

Docker 守护进程一般在宿主主机后台运行，等待接收来自客户端的消息。

Docker 客户端则为用户提供一系列可执行命令，用户用这些命令实现跟 Docker 守护进程交互。
