【Docker系列】——Docker 架构介绍

来源:互联网 发布:443端口号 编辑:程序博客网 时间:2024/06/05 05:59

目录

  • 目录
    • Docker守护进程
    • Docker客户端
    • Docker仓库
    • Docker对象
      • 镜像
      • 容器
      • 服务

Docker是一个客户端-服务器架构,Docker客户端与守护进程进行通信,Docker守护进程大大提升了docker容器的构建和运行。Docker客户端和守护进程可以在同一个系统上运行,也可以远程连接Docker的守护进程。他们之间使用Rest API,通过Unix的套接字或者是网络接口进行通信。

下面是Docker的架构图:

这里写图片描述

Docker守护进程

Docker守护进程监听Docker API的请求并管理Docker对象,例如镜像,容器,网络和卷。一个守护进程可以与其他守护进程进行通信来管理Docker服务。

Docker客户端

Docker客户端是Docker用户与Docker进行交互的主要方式。当你使用命令行(例如docker run)。客户端给守护进程发送命令,并让其执行命令。Docker命令使用Docker API,并可以和多个守护进程进行通信。

Docker仓库

一个Docker仓库存储Docker镜像。Docker仓库和Docker云是一个公共的仓库,所有人都可以使用,Docker配置默认在Docker仓库查找镜像。你甚至可以在你的私有仓库运行Docker镜像。如果你使用了Docker数据中心,它包含了受信任的仓库。

当你使用Docker的pull或者run命令的时候,你需要的镜像则从你配置的仓库中进行拉取。当你使用Docker的push命令的时候,可以将你的镜像推到你所配置的仓库。

Docker仓库允许你购买或者销售Docker镜像,或者免费分发。例如:你可以从供应商那里购买一个包含一个应用程序或者服务的Docker镜像,并使用它在你的测试,生产等环境上部署应用程序。你可以通过拉取新的版本的镜像,重新部署容器来对应用程序进行升级。

Docker对象

当你使用Docker,正在创建和使用镜像,容器,网络,卷,插件和其他对象的是有,这部分是对这些对象的简要概述。

镜像

镜像是一个只读容器的模板,其中包含创建Docker容器的说明。通常情况下,一个镜像是基于另一个镜像的,还有一些额外的定制。举个例子,你可能会创建一个基于Ubuntu镜像的镜像,需要安装Apache web server和应用程序运行所需要的配置详细信息。

你可能会创建你自己的镜像或者使用其他人发布在一个仓库中的镜像。创建你自己的镜像,你需要创建一个具有简单语法的Docker文件,用于定义创建镜像所需要的步骤并运行它。在Docker文件中的每个指令在镜像中创建了一层。当你修改Docker文件,并重新构建镜像的时候,只是被修改的层重新构建了。与其他虚拟化技术相比,这是使镜像变轻,小巧,快速的一部分。

容器

容器是镜像的一个可执行的实例。你可以通过Docker API或者CLI创建,启动,停止,移动或者删除一个容器。一个容器可以连接一个或多个网络,附加存储它,甚至是在当前状态的基础上创建一个镜像。

默认情况下,一个容器不依赖于其他容器及其主机,可以独立存在。你可以控制容器的网络,存储或者其他底层子系统与其他容器或主机之间的隔离。

容器由其镜像以及您在创建或者运行它时提供的任何配置选项定义。当容器停止时,对当前状态的任何修改都不会存储在持久存储器中。

服务

服务允许您跨多个Docker守护进程扩展容器,这像多个管理者和工作人员一起工作一样。团队中的每位成员都是一个Docker守护进程,这些守护进程使用Docker API进行通信。服务允许你定义你所需的状态,例如在任何给定时间内必须可用的副本数。默认情况下,服务在所有工作节点之间进行负载均衡。对消费者来说,Docker服务似乎是一个单一的应用程序,Docker引擎支持Docker 1.12 及更高版本的集群模式。

0 0
原创粉丝点击