Docker是一个能够把开发的应用程序自动部署到容器的开源引擎。 Docker在虚拟化的容器执行环境中增加了一个应用程序部署引擎。该引擎的目标就是提供一个轻量、快速的环境,能够运行开发者的程序,并方便高效地将程序从开发者的笔记本部署到测试环境,然后再部署到生产环境。
Docker的核心组件有:
Docker客户端和服务器,即Docker引擎;Docker镜像;Registry;Docker容器。Docker客户端向Docker服务器或守护进程发出请求,服务器或守护进程将完成所有工作并返回结果。 Docker提供一个命令行工具docker以及一整套RESTful API来与守护进程交互。
用户基于镜像来运行自己的容器。它是Docker生命周期中的“构建”部分。 镜像是基于联合文件系统的一种层式的结构,由一系列指令一步一步构建出来。比如:
添加一个文件执行一个命令打开一个端口Docker使用Registry来保存用户构建的镜像。分为公共和私有两种。
Docker可帮用户构建和部署容器,用户只需要把自己的应用程序或服务打包放进容器即可。容器则是Docker生命周期中的启动或执行阶段。
Docker容器总结来说就是:
一个镜像格式;一系列标准的操作;一个执行环境Docker可运行于人任何安装linux内核的x64主机上,包括以下几部分:
一个原生的Linux容器格式,Docker中称为libcontainerLinux内核的命名空间,用于隔离文件系统、进程和网络文件系统隔离:每个容器都有自己的root文件系统进程隔离:每个容器都运行在自己的进程环境中网络隔离:容器间的虚拟网络接口和IP地址都是分开的资源隔离和分组:使用cgroups将cpu和内存之类的资源独立分配给每个Docker容器写时复制日志交互式shell