docker 核心概念

docker 核心概念

Scroll Down

docker的核心概念。

概念说明
Dockerfile一段文本,Docker读取其中的指令以便自动化的构建Docker镜像。你可以在Dockerfile中声明任何命令
Docker Compose一个工具,用来定义多容器(Multi-container)的Docker应用程序。你可以编写Composefile,来配置你的应用程序所依赖的服务,并通过单个命令来启动所有这些服务
Docker EngineDocker的核心组件,它负责创建Docker镜像、运行Docker容器
从1.12版本开始,Docker引擎支持Swarm mode

包括三个组件:

1. Docker守护程序,即dockerd

2. REST风格的接口,dockerd暴露的API

3. Docker命令行,通过REST API和dockerd通信,对其进行控制
Docker ImageDocker镜像是一个文件系统 + 参数集,供Docker运行容器时使用。镜像本身不包含状态

任何人可以通过Docker镜像的方式来创建、分享软件

首次使用镜像时,会从仓库下载,之后,除非镜像的源码改变,不会再次下载
Layer层,或者叫镜像层(Image layer),是指对镜像的一个变更,或者指一个中间镜像(intermediate image)。之所以叫层,和UFS(联合文件系统)有关,UFS允许:其包含的文件和目录可以分布在多个其它文件系统中,这些文件/目录(称为Branches)可以被叠加(overlay)形成单个新的文件系统

在Dockerfile中指定的指令,例如FROM/RUN/COPY,会导致先前的镜像发生变化,因而导致创建新的层

层有利于缩短构建的时间,Dockerfile发生变化后,变化之前的中间镜像不需要重新构建,可以作为缓存使用
Docker ContainerDocker容器是Docker镜像的运行时实例

容器的行为取决于镜像如何被配置,可能是简单的执行一条命令,也可能是启动数据库这样的复杂服务
Docker Hub一种服务,用于构建、管理镜像。其角色类似于Maven仓库或者PyPI

在Docker Hub上你可以很轻松下载到大量已经容器化的应用镜像,即拉即用。这些镜像中,有些是Docker官方维护的,更多的是众多开发者自发上传分享的

你可以将Github账号绑定到Docker Hub账号,并配置自动生成镜像的功能。这样,当Github中代码更新时,Docker镜像会自动更新
Docker Trusted RegistryDTR,企业级的Docker镜像存储方案,其角色类似于Docker Hub的私服
Docker Cloud一种服务,能够构建、测试、部署镜像到你的主机上
Docker Universal Control PlaneUCP,管理Docker宿主机的集群,让它们整体上表现的像是单台机器
Docker Machine一个工具,使用它你可以:

1. 在Windows或者Mac平台上安装、运行Docker

2. 基于命令docker-machine准备、管理多台Docker宿主机。管理行为包括:启动/停止/重启宿主机、升级Docker客户端和Daemon、配置Docker客户端,等等

3. 准备Swarm集群

当前,只有通过Docker Machine,你才能在Mac或者Windows上运行Docker。同时它也是管理大量基于各种Linux变体的宿主机的便捷方法
libcontainer封装了名字空间、控制组、UnionFS的库,提供容器运行时基础功能

72022927_p0_master1200.jpg