基本概念

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上。

Docker是一个重新定义了程序开发测试、交付和部署过程的开放平台,Docker则可以称为构建一次,到处运行,这就是docker提出的“Build 

Docker与linux内核的关系

docker与linux内核的关系


Cgroup: 对资源进行限制(如对物理资源CPU、内存、I/O的限制)

Namespace:对进程进行隔离

Chroot: 能改变当前运行的进程和子进程的根目录

AUFS:联合文件系统,Docker利用AUFS将不同的Layer结合到1个image中去


Docker架构

Docker采用C/S架构,客户端与服务器端不一定要在一起。客户端可以运行在windows、linux等机器上,然后服务器端必须运行在linux 64bit的操作系统上。


Docker“组件间”关系


ü  主机:运行容器的机器

ü  镜像:文件的层次结构,以及包含如何运行容器的元数据, Dockerfile中的每条命令都会在文件系统中创建一个新的层次结构,文件系统在这些层次上构建起来,镜像就构建于这些联合的文件系统之上

ü  容器:一个从镜像中启动,包含正在运行的程序的进程

ü  Registry(镜像仓库):存放镜像的地方,如Docker Hub

ü  Volumn(卷):将物理机的文件夹挂载到容器内部.与openstack的volumn不一样,openstack中的卷是块存储,不能共享。而这里的volumn可以共享。

ü  Dockerfile:用于创建镜像的脚本