1、Docker架构组成
1)镜像(Image):相当于是一个root文件系统。比如官方镜像ubuntu:16.04就包含了完整的一套Ubuntu16.04最小系统的root文件系统。
2)容器(Container):镜像和容器的关系就像是面向独享和程序设计中的类和实力一样,镜像是静态的定义,容器就像是镜像运行的实体。容器可以被创建、启动、停止、删除、暂停等。
3)仓库(Repository):仓库可以看成一个代码控制中心,用来保存镜像。
Docker使用客户端-服务器(C/S)架构模式,使用远程API来管理和创建Docker容器。
Docker容器通过Docker镜像来创建。
2、Docker的C/S
概念 | 说明 |
Docker镜像(Images) | 用于创建Docker容器的模版,比如Ubuntu系统。 |
Doxker容器(Container) | 容器是独立运行的一个或一组应用,是镜像运行的实体 |
Docker客户端(Client) | Docker客户端通过命令行或其他工具使用Docker SDK(https://docs.docker.com/develop/sdk/)与Docker的守护进程通信。 |
Docker主机(host) | 一个物理或虚拟机的机器用于执行Docker守护进程和容器。 |
Docker仓库(Registry) | Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。 Docker Hub(https://hub.docker.com) 提供了庞大的镜像集合供使用。 一个 Docker Registry 中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。 通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本。我们可以通过 <仓库名>:<标签> 的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以 latest 作为默认标签。 |
Docker Machine | Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。 |