在docker中,宿主机也就是“Docker_Host”,是Docker的整体架构之一,可以是物理机也可以是虚拟机,在宿主机上跑着一个dockers服务,使用“docker daemon”可以实现对docker对象生命周期管理。
本教程操作环境:linux7.3系统、docker-1.13.1版、Dell G3电脑。
Docker 一定程度上可以将其想象一个更轻量的电脑,有自己私有化的操作系统,网络,独立的内存。并且其提供了足够强的封装能力。同集装箱类比,我们在一个空间内封装好了一切。宿主机就是拉箱子的船,一个封装好的集装箱就是一个独立的存在,可以做到地下的船随意换,而箱子内容不变。正式Docker 有了这种能力,在我们安装服务的时候避免对宿主机繁琐的配置,就可以将一个软件运行起来。以前我们开发一个java程序,宿主机必须提供jre 环境。如果没有这个环境,不好意思该程序无法执行,有了容器后这些就简单了。拉取一个镜像,然后运行起来,结束。
Docker 的整体架构分为三部分,Clint,Docker_Host,Registey:
Clinet:和前文中提到的一致,就是命令行的操作界面,通过其使用Api 接口,完成和Doceker daemon 的通信。
Docker_Host: Docker 的宿主机,可以是物理机,也可以是虚拟机,上面跑着一个dockers 服务,我们使用 docker daemon 实现对docker 对象生命周期管理。
Registey: docker registry 严格意义它不属于docker中,他是另外的一个仓库服务,是docker 镜像的存储中心,docker 的官方仓库为docker hub,也之处我们自己创建。为了方便在开发团队中我们会维护一个仓库,这个仓库我们一般使用 harbor 实现。
在 Docekr 中有一个核心就是 Docker Engine,这个是什么呢?就简单的将其理解为一个C/S服务吧,更通俗的讲就是个软件。整体架构图如下:
在这里对其核心的部分概念进行简单的介绍,没有提及的内容,过于相比较复杂,在后文中再进行进行详细描述:
Server:整个结构最核心的部分,命令的真实执行者,里面住着 docker daemon,简单的说就是一个守护docker守护进程,长期的运行着,常驻于内存中,负责创建和管理dockers 对象,比如:image,containers,network和volume。在Linux 中可以找到一个叫 dockerd 的进程就是它。
Rest Api: 正如它的名字就是一个对外提供的接口,利用这些接口可以实现对 docker 服务的调用执行,完成和 daemon 通信。
Client: 最外层的命令行界面(CLI)。
推荐学习:《docker视频教程》
以上是docker中什么是宿主机的详细内容。更多信息请关注PHP中文网其他相关文章!