Docker 是一个为开发,运行app的开放的平台.Docker 使app从基础开发环境中分离,因此就可以快速的迭代和开发,可以很好的支持持续开发(CD)和持续集成(CI)(continuous integration and continuous development).Docker适用于高环境密集型,中小型的应用
Docker 提供了一种宽松的封闭的环境即容器,用来打包和运行软件.容器的安全性和封闭性允许在给定的主机(host)上面同时运行多个容器.容器是轻量级的,因此不必加载额外的其他系统的程序.
Docker提供了工具和平台去管理容器的生命周期:
Docker引擎是一个客户-服务器的应用,由如下主要组件构成:
Docker命令行接口程序CLI使用REST API去与Docker守护进行进行控制和交互通过脚本或者直接的命令行
Docker守护进程创建和管理docker对象,例如镜像,容器,网络,宗卷等
Docker使用一种客户端-服务器的架构.Docker客户端可以告诉Docker守护进程去创建,运行和分发Docker容器.Docker客户端和守护进程可以运行在同一个系统上,或者可以使Docker客户端去连接一个远程的Docker守护进程.
守护进程(dockerd)用来监听DockerAPI请求并且管理Docker对象.
Docker客户端是许多Docker用户与Docker交互的方式.’docker run’命令
Docker注册中心,存储着Docker镜像.Docker Hub和Docker Cloud是公共的注册中心.如果使用了Docker Datacenter(DDC),它将会包含(DTR)
当使用docker pull或者docker run命令时,这个被需求的镜像可以从配置的注册中心中pull下来;当使用docker push命令时,则将会将镜像push到注册中心去
通常包含镜像,容器,网络,宗卷,插件等
镜像是一个为了创建一个Docker容器的只读命令模板.通常一个镜像是在另一个镜像的基础上额外的定制化.例如:创建了一个基于ubuntu的镜像,但是该镜像是安装Apache web server和应用,还有相关使得应用run的配置文件
容器是一个可运行的镜像的实例,可以通过Docker API或者CLI来创建,运行,停止容器.可以使容器连接一个或者多个网络,挂载存储,甚至在当前的状态基础上创建一个新的容器
Docker