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