docker使用客户端-服务端架构。docker客户端与docker守护进程进行对话,该守护进程完成了构建,运行和分发docker容器的繁重工作。
docker客户端和守护进程可以在同一系统上运行,或者可以将docker客户端连接到远程docker守护程序,docker客户端和守护进程在UNIX套接字或网络接口上使用REST API进行通信,另一个docker客户端是docker compose,他使您可以处理一组容器组成的应用程序。
docker守护程序
docker守护程序侦听docker api请求并管理docker镜像,例如图像,容器,网络和卷,守护程序还可以与其他守护程序通信以管理docker服务
docker客户端
docker客户端是许多docker用户与docker交互的主要方式。当使用docker run命令,客户端会将这些命令发送到dockerd,以执行这些命令,该docker命令使用docker API,docker客户端可以与多个守护进程通信。
docker镜像
使用docker时,您正在创建和使用映像,容器,网络,卷、插件和其他对象。
底层技术
docker使用go语音编写,并利用linux内核的多种功能来交付期功能,docker使用一种称为namespaces来提供称为容器隔离的工作区,运行容器时,docker会为该容器创建一组名称空间。