Docker包括三个基本概念:
- 镜像(Image)
- 容器(Container)
- 仓库(Repository)
(1) Docker镜像:包含操作系统完整的root文件系统,采用分层储存的架构设计。镜像在构建时,会一层层构建,前一层是后一层的基础。
(2)Docker容器:镜像和容器的关系,就像面向对象程序设计中的类和实例一样。镜像是静态的定义,容器是镜像运行的实体。容器可以被创建、启动、停止、删除、暂停等。
(3) 镜像构建完成后,可以很容易的在当前宿主机上运行,但是如果要在其它机器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务,Docker Registry就是这样的服务,允许用户免费上传、下载公开的镜像,最常使用的Registry分开服务是官方的Docker Hub,这个也是默认的Registry,但在国内访问这些服务可能会很慢,国内一些云服务商提供了针对Docker Hub 的镜像服务(Registry Mirror)这此镜像服务被称为加速器,常见的有阿里云加速器、DaoCloud加速器等,使用加速器会直接从国内的地址下载Docker Hub的镜像,比直接从Docker Hub下载速度会提高很多。 一个Docker Registry中可以包含多个仓库(Repository)每个仓库可以包含多个标签(Tag)每个标签对应一个镜像。通常,一个仓库会包含同一个软件不同版本的镜像,标签就是对软件各个版本的定义,我们可以通过<仓库名>:<标签>的格式来指定具体是这个软件哪个版本的镜像,如果不给标签,将以latest作为默认标签。