Docker是一个新的容器化的技术,它轻巧,且易移植,号称“build once, configure once and run anywhere“
Docker有三个组件和三个基本元素。三个组件分别是:
Docker Client
是用户界面,它支持用户与Docker Daemon
之间通信。Docker Daemon
运行于主机上,处理服务请求。Docker Index
是中央registry,支持拥有公有与私有访问权限的Docker容器镜像的备份。三个基本要素分别是:
Docker Containers
负责应用程序的运行,包括操作系统、用户添加的文件以及元数据。Docker Images
是一个只读模板,用来运行Docker容器。DockerFile
是文件指令集,用来说明如何自动创建Docker镜像。在讨论Docker组件和基本要素如何交互之前,让我们来谈谈Docker的支柱。Docker使用以下操作系统的功能来提高容器技术效率:
Namespaces
充当隔离的第一级。确保一个容器中运行一个进程而且不能看到或影响容器外的其它进程。Control Groups
是LXC的重要组成部分,具有资源核算与限制的关键功能。UnionFS
(文件系统)作为容器的构建块。为了支持Docker的轻量级以及速度快的特性,它创建了用户层。以上引用自:dockone.io/article/101
注意:在低于3.10版本的内核上运行 Docker 会丢失一部分功能。在这些旧的版本上运行 Docker 会出现一些BUG,这些BUG在一定的条件里会导致数据的丢失,或者报一些严重的错误。