zoukankan      html  css  js  c++  java
  • Docker之路-docker架构

    docker 结构

    Docker采用了C/S架构,包括客户端服务端

    Docker daemon 作为服务端接受来自客户的请求,并处理这些请求(创建、运行、分发容器)。 客户端和服务端既可以运行在一个机器上,也可通过 socket 或者 RESTful API 来进行通信。

    Docker daemon一般在宿主机后台运行,等待接收来自客户端的消息。

    img

    用户使用Docker ClientDocker Daemon建立通信,并发送请求给后者。

    Docker Daemon作为Docker架构中的主体部分,首先提供Server的功能使其可以接受Docker Client的请求;而后Engine执行Docker内部的一系列工作,每一项工作都是以一个Job的形式的存在。Job的运行过程中,当需要容器镜像时,则从Docker Registry中下载镜像,并通过镜像管理驱动graphdriver将下载镜像以Graph的形式存储;当需要为Docker创建网络环境时,通过网络管理驱动networkdriver创建并配置Docker容器网络环境;当需要限制Docker容器运行资源或执行用户指令等操作时,则通过execdriver来完成。

    而libcontainer是一项独立的容器管理包,networkdriver以及execdriver都是通过libcontainer来实现具体对容器进行的操作。当执行完运行容器的命令后,一个实际的Docker容器就处于运行状态,该容器拥有独立的文件系统,独立并且安全的运行

    img

    docker client、docker daemon(server)、registry三者关系:

    img

    镜像与容器的转换及与registry关系

    img

  • 相关阅读:
    Python 3 socket 编程
    Python 3 面向对象进阶
    python 3 封装
    Python 3 接口与归一化设计
    JS 的5个不良编码习惯
    Java基础(三)选择结构
    Java基础(二)变量和数据类型
    vue的注意规范之v-if 与 v-for 一起使用
    从Vue的DOM构建机制中理解key
    Vue内部怎样处理props选项的多种写法
  • 原文地址:https://www.cnblogs.com/vinsent/p/11642590.html
Copyright © 2011-2022 走看看