美文网首页
Docker引擎

Docker引擎

作者: 逑熙 | 来源:发表于2017-09-26 23:29 被阅读12次

Docker是一个开源的应用容器引擎,主要利用Linux内核namespace实现沙盒隔离,用Cgroup实现资源限制。 Docker 支持三种镜像层次的存储driver:aufs、device mapper、Btrfs。

我们首先介绍一下Docker的系统架构。

Docker采用一种c/s的结构,如下图所示,由Client和Daemon两部分组成。

Docker Daemon主要由三部分:Server,Engine和Job。

Docker Daemon启动时首先进行一些初始化操作,如初始化network,创建grapdriver,创建execdriver等等。在初始化结束后,Docker Daemon启动Server负责监听Docker Client发来的请求,Server的运行以及其对Docker Client端请求的响应都是以Job的形式在Engine中完成的。

Engine是Docker架构中的运行引擎,同时也是Docker的核心模块。一个Job可以认为是Docker架构中Engine内部最基本的工作执行单元。Docker可以做的每一项工作,都可以抽象为一个Job。Docker Client负责对命令行的解析,其运用反射机制将命令行转换成函数的形式通过某种协议与Docker Daemon进行通信,通过Router以RPC的方式调用Server相应功能。

目前,Docker支持三种调用方式:fd,unix socket,http。值得注意的是,Docker Daemon向Docker Client提供的所有功能都是以Handler的方式注册到Engine中的。举例说明,Engine的Handler对象中有一项为:{"create":daemon.ContainerCreate},则说明当名为"create"的Job在运行时,执行的是daemon.ContainerCreate的Handler。这样做的好处是增加了系统的可扩展性,添加新功能时只需简单的将其注册到Engine中即可。


Paste_Image.png

相关文章

  • Docker学习(5) Docker引擎

    Docker学习(5) docker引擎 Docker引擎——简介 docker引擎是用来运行和管理容器的。 基于...

  • Docker常用命令学习

    启动docker引擎 重启docker引擎 查看docker版本 docker镜像常用操作查看本地所有镜像 其中R...

  • k8s日志收集实战

    基础知识 Docker 引擎日志 Docker 引擎日志 一般是交给了 Upstart(Ubuntu 14.04)...

  • Docker学习笔记及面试题

    深入浅出Docker学习笔记 Docker引擎 Docker引擎:用来运行和管理容器的核心文件模块化(基于开放容器...

  • Docker 入门(一)

    Docker 简介 Docker 基本概念(镜像,容器,仓库) Docker 引擎 基于Dockerfile 镜像...

  • Docker Swarm mode

    什么是 Docker Swarm Docker 1.12 Swarm mode 已经内嵌入 Docker 引擎,成...

  • 03.Docker 概述

    Docker 概述 Docker 引擎 Docker 引擎是一个包含以下主要组件的客户端服务器应用程序。 一种服务...

  • Docker引擎

    Docker引擎 Docker Engine 是C/S架构的 Docker组成 docker最核心的组件 imag...

  • 1、简介

    docker组件 docker服务器和客户端,也称为docker引擎 docker镜像 registry dock...

  • Docker使用

    Docker Docker简介 简介: Docker[docker.com] 是一个开源的应用容器引擎,基于 Go...

网友评论

      本文标题:Docker引擎

      本文链接:https://www.haomeiwen.com/subject/qnzeextx.html